会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
repinkply
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
21
22
23
24
25
26
27
28
29
···
36
下一页
2020年3月25日
p69 只出现一次的数字III (leetcode260)
摘要: 一:解题思路 之前做了一道单数数字的题目,是每个数字出现了2次,只有一个数字只出现1次。你要找到那个只出现1次的数字。那么这道题目是否可以采用那道题目比较高效的解法呢?之前那道题目比较高效的解法是异或。当然,这道题目可以借鉴里面的思想在里面。可以把这个两个单身数字分别放在两组里面,然后每组进行累加异
阅读全文
posted @ 2020-03-25 16:21 repinkply
阅读(217)
评论(0)
推荐(0)
2020年3月23日
深入分析虚函数表
摘要: 问题一: (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)
2020年3月22日
深入探索拷贝构造函数
摘要: 传统大家认为,如果我们在类中没有定义一个自己的拷贝构造函数,编译器会帮助我们合成一个拷贝构造函数,这个合成的拷贝构造函数也是在必要的时候才合成,那么这个必要的时候是什么时候呢?让我们来一起研究。 先来看一个简单的例子: #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)
2020年3月20日
p68 移除有序数组中的重复元素 (leetcode 26)
摘要: 一:解题思路 使用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)
p67 字符串最长公共前缀 (leetcode 14)
摘要: 一:解题思路 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)
p66 反转整数 (leetcode 7)
摘要: 一:解题思路 解析:在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)
p65 二叉树的直径 (leetcode 543)
摘要: 一:解题思路 分析:这个题目的本质其实就是要求最长路径,当最长路径求出来了,二叉树的直径就知道了。如果所要求的最长路径要经过根节点,那么我们可以递归的去求各个子树的最长路径。但是最长路径并不一定包含根节点,所以,我们可以把所有的路径给穷举出来,然后进行比较得出最大值就行。如果采用自顶向下的方式来求解
阅读全文
posted @ 2020-03-20 15:41 repinkply
阅读(125)
评论(0)
推荐(0)
2020年3月19日
不限次数进行股票买卖的最大利润 (leetcode 122)
摘要: 一:解题思路 方法一:不断的寻找股票的最小值和最大值,并在最小值得时候买入,在最大值得时候卖出。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
下一页
公告