ICode9

精准搜索请尝试: 精确搜索
  • 浅谈双指针技巧(一)---通过双指针判断链表成环问题2022-09-07 17:00:25

    双指针是算法中非常重要的一个解决问题的思路。双指针顾名思义,就是有两个指针。根据双指针的方向及速度,我们一般将双指针分为以下几种场景1、快慢双指针2、左右双指针所谓快慢双指针是指,两个指针,一个快指针,一个慢指针,按照相同的方向,从链表(或数组)的一侧移动到另外一侧的场景。 如下

  • PAT Advanced 1032 Sharing(25)2022-09-06 21:01:17

    题目描述: To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the same suffix. For example, loading and being are stored as showed in Figure

  • java获取目路下所有文件及子目录_Java编程获取文件列表及子文件目录的方法(非递归)... File dir = new File(path); dir.listFiles() 获取指定路径下文2022-09-05 20:04:52

    java获取目路下所有文件及子目录_Java编程获取文件列表及子文件目录的方法(非递归)... 废话不谈,直接进入正题,理解见代码注释。 // 非递归 public List scanFiles(String path) { ListfilePaths = new ArrayList(); LinkedList list = new LinkedList(); File dir = new File(path)

  • 【链表、队列】约瑟夫环问题2022-09-05 17:31:06

    3253. 游戏 #include <iostream> #include <queue> using namespace std; int n, k; bool check(int x) { if (x % k == 0 || (x % 10) == k) return true; return false; } int main() { cin >> n >> k; queue<int> q;

  • 24. 两两交换链表中的节点2022-09-05 15:32:14

    给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。       /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(

  • buffer poll 缓存页2022-09-05 12:31:03

    free链表:指向未使用的控制块与缓存页 hash表:key:表空间号+页号 value:缓存页 脏页:修改过的缓存页 flush链表:指向脏页 lru:缓存不够时,先删除最近最少使用的。 LRU链表:只要用到这个缓存页了,就把它置与lru链表头部 预读:mysql预判你会读后面那页,提前异步读取,但可能你并不会读,这会导致lru

  • 算法--链表2022-09-04 21:01:43

          方法一:构造链表 如果此类型的题出现在笔试中,如果内存要求不高,可以采用如下方法:可以先用一个vector将单链表的指针都存起来,然后再构造链表。此方法简单易懂,代码好些。 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL

  • 设计链表2022-09-04 17:04:48

    设计链表 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链

  • [数据结构10分钟入门] 面向初学者从零实现(基于C语言)-- 单链表2022-09-04 10:00:51

    ​ 一、链表是什么     链表是一种通过指针串联在一起的线性结构,在内存中是分散存储的(数组在内存中连续分布),链表由一系列节点组成,每个节点都由数据域和指针域组成。主要有三种类型的链表:         1、单链表(本章介绍内容)         2、双链表         3

  • 快慢指针2022-09-03 16:00:09

    百度百科:快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。 判断单链表是否为循环链表 让快慢指针从链表头开始遍历,快指针向前移动两个位置,慢指针向前移动一个位置;如果快指针到达NULL,说明链表以NULL为结尾

  • LeetCode 142.环形链表II2022-09-03 15:33:13

    题意: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 解析:代码随想录 https://gitee.com/programm

  • 各种数据结构的优缺点2022-09-03 01:02:06

    数组:  类似线性表,在内存中连续的存储多个元素的结构.内存也连续分配的,数组的元素可以通过下标访问,下标是从0开始. 数组优点: 1,支持随机访问,通过下标(索引)访问元素速度快; 2,可以通过下标进行遍历.   数组缺点: 1,数组在定义的时候,初始化的数组的容量大小,无法修改; 2,只

  • 移除链表元素2022-09-02 21:34:53

    移除链表元素 难度简单1013收藏分享切换为英文接收动态反馈 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [], val = 1 输出:[

  • 考研数据结构2022-09-02 21:30:17

    简介 中南大学数据结构考研943 Ⅴ.考查内容 1、数据结构有关的概念和术语 1)数据结构; 2)抽象数据类型; 3)算法、算法设计的要求、算法效率的度量。 2、链表、栈、队列、串 1)链表、静态链表(单链表、双向链表、循环链表)及相关算法; 2)栈及顺序栈、链栈的进栈、出栈等算法; 3)队及顺序队、链

  • 链表的头插法和尾插法2022-09-01 20:30:18

    复习一下链表的插入操作 头插法 创建一个临时节点存放数据 将头部指针后面的数据都链接到这个临时节点后面 将这个临时节点再链接到头部指针后面 尾插法 创建一个临时节点存放数据 将这个临时节点链接到用于的移动的插入元素位置的指针上 将这个指针向后移动到链

  • 206 反转链表2022-09-01 20:05:30

    题目206 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 双指针思路: 定义指针cur指向head,定义指针pre,定义为None,作为链表的最后节点的指向

  • Java集合体系大杂烩2022-09-01 14:31:56

    Java集合体系主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。      下面贴出Map的继承/实现关系。Collection的子孙太多,这里就不贴出来了。感兴趣的可以自己用idea生成。      概括来说:   Java中4大集合系统(Map、Set

  • 61. 旋转链表2022-09-01 00:01:27

    61. 旋转链表 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。   示例 1: 输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 示例 2: 输入:head = [0,1,2], k = 4 输出:[2,0,1]   提示: 链表中节点的数目在范围 [0, 500] 内 -100 <= Node.val <= 100

  • 前端也该刷点算法题——双指针解“链表”题也太香了叭!2022-08-31 20:34:12

    双指针解“链表”题也太香了叭! 同步双指针 1 查找链表中倒数第 k 个节点 剑指Offer22.链表中倒数第k个节点 思路: 假设链表的长度为n,不难得出倒数第k个节点即为整数第n + 1 - k。 如果一个指针从头节点开始走k步(头节点算作第1步),则还需n + 1 - k步才能走完链表(到达尾节点的next

  • NowCoder BM1 反转链表2022-08-31 13:31:34

    描述 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 NowCoder BM1 反转链表 import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val =

  • HashMap面试相关2022-08-30 22:30:24

    HashMap源码: 加载因子:loadFactory -- 默认 0.75f 初始容量大小: capacity 默认 16, 最大限制 1<<30 扩容: 当数组元素的数量 > 初始容量大小 * 加载因子,就会扩容. 会调用rehash方法将数组长度扩容到之前的两倍.扩容的时候,会生成一个新的数组,原来的所有数据需要重新计算哈希

  • [NOI2022] 众数 题解2022-08-30 17:33:34

    权值线段树 权值线段树即一种线段树,以序列的数值为下标。 权值线段树维护一列数中数的个数。 也就是说,我们的权值线段树就是用线段树维护了一堆桶。 这就是权值线段树的概念。 权值线段树维护的是桶,按值域开空间,维护的是个数。 [NOI2022] 众数 这个题:我们可以不是很显然地知道:众数

  • 83. 删除排序链表中的重复元素2022-08-30 15:03:17

    83. 删除排序链表中的重复元素 # 由于是已排序的链表,判断前后是否为相同元素如果是则连接下下个不是则向前移动 #code: # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = ne

  • js Linked List Generator All In One2022-08-30 01:04:09

    js Linked List Generator All In One js 链表生成器 class ListNode { constructor(val, next) { this.val = (val===undefined ? 0 : val) this.next = (next===undefined ? null : next) } // add // remove } function LinkedListGenerator(arr) { let

  • LeetCode 21. 合并两个有序链表2022-08-29 10:33:41

    题目 题目链接:https://leetcode.cn/problems/merge-two-sorted-lists/ 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3:

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有