JDK Byte Buffer的缺点:长度是固定的,不能动态扩容,API使用复杂,因此Netty封装了自己ByteBuf,Bytebuf有三个重要属性:Capacity容量、readerIndex读取位置和writerIndex写入位置,提供两个指针来支持顺序读写操作.同时三者满足如下关系:0<=r ...
分类:
Web程序 时间:
2020-02-14 18:05:42
阅读次数:
100
"luogu" 下面令$n,q$同阶 先考虑暴力做法,询问是要对两个位置集合,选两个元素出来,求最小的差的绝对值.因为对于一个元素,一定选另一个集合中和他位置最近的前后两个元素最优,所以暴力是让集合为升序排列,再维护两个指针,一开始指向集合第一个元素,这同时维护之前扫过的元素中两个集合的最后一个元素 ...
分类:
其他好文 时间:
2020-02-13 21:02:55
阅读次数:
72
思路:双指针 暴力方法,从前向后遍历,遇到空格就替换,则每次替换需要移动空格后面O(n)个字符,所以总时间复杂度为O(n^2)。 我们可以先计算出空格数,然后可得替换后新串总长度,设两个指针i和j分别指向原来字符串末尾和新串末尾,向前移动指针,如果遇到空格就替换,否则将原来字符移到新的位置。 代码 ...
分类:
其他好文 时间:
2020-02-12 22:33:59
阅读次数:
84
1,先说结论: 两个指针指向同一个结构,一个改了结构,另一个也会改掉。 两个指针指向同一个结构,修改了其中一个的指向,并且改了其中的内容,另一个不为所动。 2,看例子 main.cpp #include <iostream> struct ListNode { int val; ListNode * ...
分类:
编程语言 时间:
2020-02-11 14:35:38
阅读次数:
63
Q:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) T: A:代码: ...
分类:
其他好文 时间:
2020-02-10 18:30:05
阅读次数:
71
在了解完 "什么是数据结构" 之后,让我们一起来探索下数据结构中常见的一种— 链表 。 链表 链表是数据结构之一, 其中的数据呈线性排列。在链表中,数据的添加和删除都较为方便,就是访问比较耗费时间。 如上图所示就是链表的概念图,Blue、Yellow、Red 这 3 个字符串作为数据被存储于链表中, ...
分类:
其他好文 时间:
2020-02-09 09:13:44
阅读次数:
50
对于大多数子字符串问题,我们给了一个字符串,需要找到一个满足某些限制的子字符串。通常的方法是使用带有两个指针的哈希表。模板如下。 需要提到的一件事是,当要求找到最大子串时,我们应该在内部while循环之后更新最大值,以确保子串有效。另一方面,当要求找到最小子串时,我们应该在内部while循环内更?? ...
分类:
其他好文 时间:
2020-02-08 13:38:22
阅读次数:
71
[TOC] "Leetcode 3" 问题描述 例子 方法 保留一个将字符串中的字符存储为键并将其位置存储为值的hashmap,并保留两个定义最大子字符串的指针。移动右指针以浏览字符串,同时更新hashmap。如果字符已经在hashmap中,则将左指针移到最后找到的相同字符的右边。请注意,两个指针只 ...
分类:
其他好文 时间:
2020-02-08 09:44:27
阅读次数:
54
剑指OFFER 复杂链表的复制 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 分析 设A为被复制的链表,B为复制成功的链 ...
分类:
其他好文 时间:
2020-02-06 14:46:38
阅读次数:
78