一、需要思考的问题包括以下几点: 双指针是什么,什么时候需要用到双指针 通用的模板是什么 实现过程中需要注意的细节有哪些 常见的双指针题型有哪些 二、模板整理 三、专题训练 1.Leetcode283 1 class Solution { 2 public: 3 void moveZeroes(ve ...
分类:
其他好文 时间:
2020-04-08 22:38:58
阅读次数:
79
三数和算法 1、三重循环 去获取每次值相加,获取到相对应的值 缺点:虽然简单实现,但是复杂度为n3,时间比较复杂 2、循环加双指针 先排序 然后外层循环 内层用双指针的模式去遍历和比较 相对而言 减少了一层循环,且比较过程中可以部分剪枝 变种:三数和最接近target的算法 思考:我们拿到一个题目的 ...
分类:
编程语言 时间:
2020-04-08 22:38:00
阅读次数:
87
1,智能指针是啥? 普通指针基本上就是一个变量,它的的生命周期和变量的作用域有关,局部变量在走出作用域以后就会销毁,全局变量可能程序运行完了就销毁了。 new出来的指针和普通指针的区别在于,new出来的那块内存区域是不会自动被释放的,需要你手动调用delete才能释放,然而由于种种原因,new de ...
分类:
编程语言 时间:
2020-04-08 13:37:36
阅读次数:
74
智能指针简介 为了防止内存的释放问题,c++臭名昭著的内存泄露等,相当于把当前申请的内存托管给指针管理类,通过这个类间接访问实际类 本质 本质就是把当前申请的内存传到一个类中,让这个类存储指针,通过重载的方式间接访问这个存储的指针类 可以这么说,有了智能指针的出现,在c++的代码中就不应该再频繁的出 ...
分类:
编程语言 时间:
2020-04-07 22:25:07
阅读次数:
129
摘自:https://www.ibm.com/developerworks/cn/linux/sdk/l-debug/ 本文讨论了四种调试 Linux 程序的情况。在第 1 种情况中,我们使用了两个有内存分配问题的样本程序,使用 MEMWATCH 和 Yet Another Malloc Debug ...
分类:
系统相关 时间:
2020-04-07 20:26:13
阅读次数:
91
最近在给某个主播开发斗鱼直播间辅助工具,为了程序的高效稳定,也搜索了大量的资料,经过大量什么百度,谷歌搜索。。。 虽然有很多Python的脚本及JS脚本实现了拉取斗鱼弹幕信息,但是这些年来的开发职业病告诉我,这满足不了对系统的控制欲望。。 后来,找啊。。。找啊。。。意外间发现这个文档。。。。废话不多 ...
思路(证明有环): 定义快慢指针fast和slow,fast每次前进两步,slow每次前进一步; 当fast和slow在到达链尾之前相遇的话,就证明有环(类似于在操场上跑步跑的慢的被快的套圈但总会遇到); 思路(找环结点): fast和slow相遇之后,fast不动,slow回到最初的起点,然后一步 ...
分类:
其他好文 时间:
2020-04-07 14:22:21
阅读次数:
80
说明(1)当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。(2)返回值 从s开头开始的一个个被分割的串。当s中的字 ...
分类:
其他好文 时间:
2020-04-07 12:55:36
阅读次数:
52
前置++和后置++的区别前置++称为前自加,后置的++称为后自加。其计算效果均为操作数自加一。当单独一个语句的时候没有区别,如果用在表达式中:i++是先自加,然后在取i的值做计算。inti=2,j;如果j=i++;那么先取i的赋值给j,于是j值为2,i值再自加,i=3。如果j=++i;那么i先自加,得到i=2,然后再取i计算,j值为3。函数传参中使用的指针intadd(inta,intb)函数传参
分类:
其他好文 时间:
2020-04-07 00:24:29
阅读次数:
77
题目描述 :我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 解法 1: 动态规划 因为丑数只包含质因数 2, 3, 5,所以对于下个丑数来说,一定是前面某个丑数乘 3、乘 4 或者乘 5 所得。 准备三个指针 ptr2、ptr3、ptr ...
分类:
编程语言 时间:
2020-04-06 23:49:21
阅读次数:
93