随笔分类 - LeetCode
摘要:一、JAVA常用API java.lang.Math 提供sin, cos, tan, exp, log, log10 等类方法,PI和E等类字段 java.lang.String(StringBuilder线程不安全,StringBuffer线程安全) char charAt(int index)
阅读全文
摘要:快慢指针找链表环相关理论 一、一定会相遇的证明 1、如果链表没有环,那么快指针比慢指针先到达尾部(null)。 2、如果链表有环的话,因为快指针走的比慢指针快,所以在环中相遇的过程可以看作是快指针从环后边追赶慢指针的过程。 用递归法证明,快慢指针一定会相遇: (1)快指针与慢指针之间差一步。此时继续
阅读全文
摘要:我们知道,Vim 采用的是交互式文本编辑模式,你可以用键盘命令来交互性地插入、删除或替换数据中的文本。但本节要讲的 sed 命令不同,它采用的是流编辑模式,最明显的特点是,在 sed 处理数据之前,需要预先提供一组规则,sed 会按照此规则来编辑数据。sed 会根据脚本命令来处理文本文件中的数据,这
阅读全文
摘要:Linux下C语言程序的编译过程 使用gcc编译程序时,编译工程分为4个阶段:(1)预处理:(Pre-Processing)(2)编译:(Compiling)(3)汇编:(Assembling)(4)链接:(linking)Linux程序员可以根据自己的需要让gcc在编译的任何阶段结束,以便检查或使
阅读全文
摘要:cin: 对于cin操作符,由于它是忽略所有“不可见”字符的(比如说“\n”),所以无法输入像“hello word”这样的字符串,注意是忽略而不是不读,缓冲区里还是有的,也就是说,调用一次cin后,缓冲区里还有一个“不可见”字符,这会导致一些麻烦接下来讨论。 cin.get(): 可以不接收参数,
阅读全文
摘要:树状数组可以解决什么样的问题: 这里通过一个简单的题目展开介绍,先输入一个长度为n的数组,然后我们有如下两种操作: 输入一个数m,输出数组中下标1~m的前缀和 对某个指定下标的数进行值的修改 多次执行上述两种操作 寻常方法对于一个的数组,如果需要求1~m的前缀和我们可以将其从下标1开始对m个数进行求
阅读全文
摘要:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 进阶: 你能在线性时间复杂度内解决此题吗? 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和
阅读全文
摘要:[C++ STL] deque使用详解 目录 一、概述 二、定义及初始化 三、基本操作函数 3.1 容量函数 3.2 添加函数 3.3 删除函数 3.4 访问函数 3.5 其他函数 四、迭代器与算法 五、总结 回到顶部 一、概述 deque(双端队列)是由一段一段的定量连续空间构成,可以向两端发展,
阅读全文
摘要:【C++ STL】Set和Multiset 1、结构 set和multiset会根据特定的排序原则将元素排序。两者不同之处在于,multisets允许元素重复,而set不允许重复。 只要是assignable、copyable、comparable(根据某个排序准则)的型别T,都可以成为set或者m
阅读全文
摘要:bitset常用函数用法记录 (转载) 有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中
阅读全文
摘要:T. 数据流中的中位数 题目描述: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3
阅读全文
摘要:T5335. 参加考试的最大学生数 题目描述: 给你一个 m * n 的矩阵 seats 表示教室中的座位分布。如果座位是坏的(不可用),就用 '#' 表示;否则,用 '.' 表示。 学生可以看到左侧、右侧、左上、右上这四个方向上紧邻他的学生的答卷,但是看不到直接坐在他前面或者后面的学生的答卷。请你
阅读全文
浙公网安备 33010602011771号