先排序,然后固定一个值,使用双指针计算结果。 时间复杂度O(n^2),空间复杂度O(1) class Solution { public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int> > res; int ...
分类:
其他好文 时间:
2020-05-24 20:45:40
阅读次数:
48
Phase 1 先将bomb反汇编并输出到bomb.s, d参数为全部反汇编,还有一个 t参数可以输出程序的符号表,不过我不知道这个符号表有什么用。 分析main函数的代码 结合bomb.c函数 我们能比较容易看出main函数前面的汇编代码主要是做一些初始化和调用输入等功能,不是重点,我们直接关注p ...
分类:
移动开发 时间:
2020-05-24 18:08:02
阅读次数:
88
暴力法: 思路: 从数组下标1开始遍历到n-1,每当遍历一个元素时,分别寻找到当前元素开始左边和右边的最大值,用最大值中较小值减去当前元素值即为当前位置所能接到的雨水量,加入到结果res中,遍历完成后res即为接到雨水总量。 代码: class Solution: def trap(self, he ...
分类:
其他好文 时间:
2020-05-24 16:43:12
阅读次数:
50
1、运行时异常应该通过预先检查来规避,而不是使用trycatch 2、避免随意的缩写单词 3、接口中的方法和属性不要加任何修饰符,public也不行 4、equals方法容易产生空指针,所以尽量使用常量或者确定有数据的对象来调用该方法 5、所有包装类的值进行比较,都使用equals方法 6、所有的p ...
分类:
其他好文 时间:
2020-05-24 16:27:54
阅读次数:
94
顺序访问文件 一个文件是由一个字节序列构成的。操作系统维护一个叫做文件指针(file pointer)的特殊标记,指向序列中的某个位置。读写操作都是在文件指针指向的位置进行。当文件打开时,文件指针被设置在文件开始位置。当读写数据时,文件指针会移动到下一个数据项。例如,如果使用get()函数读取一个字 ...
分类:
编程语言 时间:
2020-05-24 16:23:54
阅读次数:
147
1. 即数组的数组 2. 多维数组定义 ap是数组指针 3. ap指向第二个数组 等同于: 4. 指针数组 5. 利用typedef定义数组指针类型 6. 用指针和typedef输出二维数组 7. 不使用typedef ...
分类:
编程语言 时间:
2020-05-24 14:08:30
阅读次数:
54
单链表 实例:使用带head头的单向链表实现 水浒英雄排行榜管理 插入链表节点的方法 思路: 注:头节点不能动,一旦动了,就无法在遍历了,遍历是从头节点开始的,所以需要一个辅助节点(可以当作指针指针)来进行遍历 首先找到新添加的节点的位置,是通过辅助变量(指针),通过遍历找到 新的节点.next = ...
分类:
其他好文 时间:
2020-05-24 13:49:32
阅读次数:
48
地址 https://www.acwing.com/solution/LeetCode/content/13604/ 题目描述 给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。 请你检查检索词 searchWord 是否为 ...
分类:
其他好文 时间:
2020-05-24 13:33:30
阅读次数:
73
传统意义上来说,c++把NULL、0视为同一种东西,有些编译器将NULL定义为 ((void*)0),有些将其定义为0.c++不允许直接将void*隐式的转化为其他类型,但是如果NULL被定义为 ((void*)0),当编译char *p = NULL;NULL只好被定义为0。 还有: void f ...
分类:
其他好文 时间:
2020-05-24 12:03:01
阅读次数:
56
之前刷leecode的一道题的时候,程序老是出错,原因最后找到是因为利用malloc申请了一段连续的内存后,并没有对其初始化,在利用memset对其初始化后,问题就解决了。 不过有些情况下,不对其初始化程序也能正常的运行,就比如如果你能保证变量(指针)都赋值之后使用。 所以为了避免一些不必要的麻烦, ...
分类:
其他好文 时间:
2020-05-24 11:59:55
阅读次数:
69