上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 36 下一页
摘要: 一:解题思路 之前做了一道单数数字的题目,是每个数字出现了2次,只有一个数字只出现1次。你要找到那个只出现1次的数字。那么这道题目是否可以采用那道题目比较高效的解法呢?之前那道题目比较高效的解法是异或。当然,这道题目可以借鉴里面的思想在里面。可以把这个两个单身数字分别放在两组里面,然后每组进行累加异 阅读全文
posted @ 2020-03-25 16:21 repinkply 阅读(217) 评论(0) 推荐(0)
摘要: 问题一: (1)一个类只有包含虚函数才会存在虚函数表,同属于一个类的对象共享虚函数表,但是有各自的vptr(虚函数表指针),当然所指向的虚函数表是同一个。 (2)父类中有虚函数就等于子类中有虚函数。只要父类中有虚函数,子类中即便不写virtual,也依旧是虚函数。 (3)不管是父类还是子类,都会只有 阅读全文
posted @ 2020-03-23 20:41 repinkply 阅读(34) 评论(0) 推荐(0)
摘要: 问题1:何时必须使用成员初始化列表?有以下几种情况 1.如果这个成员是个引用。2.如果这个成员是个const类型成员。3.如果这个类是继承一个基类,并且基类中有构造函数,这个构造函数里边还有参数。4.如果成员变量类型是个某个类类型,而这个类的构造函数带参数。 问题2:使用初始化列表的优势 1.除了必 阅读全文
posted @ 2020-03-23 10:41 repinkply 阅读(7) 评论(0) 推荐(0)
摘要: 传统大家认为,如果我们在类中没有定义一个自己的拷贝构造函数,编译器会帮助我们合成一个拷贝构造函数,这个合成的拷贝构造函数也是在必要的时候才合成,那么这个必要的时候是什么时候呢?让我们来一起研究。 先来看一个简单的例子: #include <iostream> using namespace std; 阅读全文
posted @ 2020-03-22 16:34 repinkply 阅读(6) 评论(0) 推荐(0)
摘要: 问题:传统认识为:如果我们自己在类中没有定义任何构造函数,那么编译器就会为我们隐式自动生成一个默认的构造函数,我们称这种构造函数为“合成的默认构造函数”。事实的真相果真如此吗? 结论:“合成默认构造函数”,只有在必要的时候,编译器才会为我们自动合成出来,而不是必然为我们合成出来。那到底什么时候是必要 阅读全文
posted @ 2020-03-22 12:54 repinkply 阅读(9) 评论(0) 推荐(0)
摘要: 一:解题思路 使用2个游标p,q分别指向位置1,当q和q-1所指向的元素相同的时候,q++,如果不等的时候,那么nums[p++]=nums[q++]; Time:O(n),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: 阅读全文
posted @ 2020-03-20 20:05 repinkply 阅读(151) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(k*n),Spaec:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: string longestCommonPrefix(vector<string>& strs) { if (strs.size() = 阅读全文
posted @ 2020-03-20 17:07 repinkply 阅读(142) 评论(0) 推荐(0)
摘要: 一:解题思路 解析:在C++和Java中,-3%10=-3。在Python中,-3%10=7。 方法一:采用一个长整型y来保存结果,每次迭代过程为 y=y*10+x%10。 方法二:如果系统中不允许使用long型,这个时候则需要就要采用方法二。 二:完整代码示例 (C++版和Java版) 第一种方法 阅读全文
posted @ 2020-03-20 16:35 repinkply 阅读(138) 评论(0) 推荐(0)
摘要: 一:解题思路 分析:这个题目的本质其实就是要求最长路径,当最长路径求出来了,二叉树的直径就知道了。如果所要求的最长路径要经过根节点,那么我们可以递归的去求各个子树的最长路径。但是最长路径并不一定包含根节点,所以,我们可以把所有的路径给穷举出来,然后进行比较得出最大值就行。如果采用自顶向下的方式来求解 阅读全文
posted @ 2020-03-20 15:41 repinkply 阅读(125) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:不断的寻找股票的最小值和最大值,并在最小值得时候买入,在最大值得时候卖出。Time:O(n),Space:O(1) 方法二:贪心法,只要后一天的值大于前一天的值,那么就进行买卖。Time:O(n),Space:O(1) 两种方法的时间和空间复杂度都是一样的。 二:完整代码示例 阅读全文
posted @ 2020-03-19 21:02 repinkply 阅读(485) 评论(0) 推荐(0)
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 36 下一页