随笔分类 -  C、C++ 刷题

摘要:分析: 结合之前的写好的两个排序的思想,这个几乎没有阻碍就写出来了,但是明显写的慢,对vector没有python的切片这种都不太清晰,明显经验不足。 但是这个题给我提示,还是要画图,分析又快又好,关键是能验证你的想法能不能行。 而且,一个困难的问题,可以拆成多了小题解决,比如这个,分为递归归并策略 阅读全文
posted @ 2019-03-23 17:08 深夜十二点三十三 阅读(210) 评论(0) 推荐(0)
摘要:分析: 这次做的挺好的,只有一处错误,就是忘了设置l1的第一个值一定小于l2的第一个值。其他没有任何错误,做的如此顺利的原因在于我通过画图举例,尽可能把所有案例都想到了,然后对比图示写的(链表不画图纯靠脑子我会懵),好吧其实还是这个题简单。 这个题给我做题的经验,就是先画图,举例,实现一般功能的案例 阅读全文
posted @ 2019-03-23 16:26 深夜十二点三十三 阅读(221) 评论(0) 推荐(0)
摘要:分析: 一个简单题啊,还是情况没分析到位,一开始思路错了。 后来思路对了,但是程序总是有毛病,但是总得来说还是情况没分析到位。 阅读全文
posted @ 2019-03-23 11:18 深夜十二点三十三 阅读(236) 评论(0) 推荐(0)
摘要:分析: 和上个类似,也是O(n^2)时间复杂度遍历。 阅读全文
posted @ 2019-03-23 10:25 深夜十二点三十三 阅读(162) 评论(0) 推荐(0)
摘要:分析: 不写代码永远不知道自己有多菜,一个快排写的我哭了,然后说主要思想: 未注释的是别人的代码,排序后,令【a,。。。。,b,c】这种形式,让c从右往左遍历,a初始化为0,从左向右移动,b初始化c-1,从右往左移动。在c遍历中,计算a+b,若a+b<-c,说明a太小了,a++,若a+b>-c,说明 阅读全文
posted @ 2019-03-23 09:30 深夜十二点三十三 阅读(145) 评论(0) 推荐(0)
摘要:分析: 错误都在上面了,唉,真是太惨了,改bug比写代码时间都长。 题解给了好多思想,分治啊二分啊等等,但是懒得看了,我这个时间复杂度最多也是O(s),其中 S为数组里所有字符串中字符数量的总和。 阅读全文
posted @ 2019-03-22 19:06 深夜十二点三十三 阅读(137) 评论(0) 推荐(0)
摘要:分析: 一开始想到双循环遍历,但是时间复杂度为O(n^2),后来想到双指针法,在距离尽可能大的情况,由于受边最小值影响,使值小指针往中间靠,这样时间复杂度O(n),也没有增加空间复杂度(都是O(1))。 阅读全文
posted @ 2019-03-22 11:09 深夜十二点三十三 阅读(143) 评论(0) 推荐(0)
摘要:分析: 我看到人家问能不能不用字符串,第一反应是,哦,可以用字符串啊。。。。 这个思路好像也不难,就不写字符串了,但是我还是出现了两处失误,一处是写的太快了,脑子没跟上手,一个就是那个long,之前int,碰到一个溢出的数,按理是要考虑的。 阅读全文
posted @ 2019-03-22 10:43 深夜十二点三十三 阅读(112) 评论(0) 推荐(0)
摘要:总结: 这题我在剑指offer书上看过,情况稍微有点不一样,但大部分特殊情况我都还记得(还没超过三天)。。 这题按部就班写没啥,就是编程还是不熟练,且太粗心,还是练得少。 阅读全文
posted @ 2019-03-21 21:30 深夜十二点三十三 阅读(210) 评论(0) 推荐(0)
摘要:题解给的思路: 分析:我和题解的思路不同在于判断溢出的方式,我是设置了一个较大类型(long)的数字,然后根据符号位(flag)判断是否向上(y > 0x7FFFFFFF)还是向下(y < (signed int)0x80000000)溢出,注意这里必须要有signed int,不然默认无符号。 题 阅读全文
posted @ 2019-03-21 16:26 深夜十二点三十三 阅读(180) 评论(0) 推荐(0)
摘要:分析: 开始时候想到的是另一种动态规划法:开始时从头遍历每个字符,在每个字符开始时,设置一个尾指针从尾到头遍历,若二者相同,就判断这俩内部是不回文(写个小循环即可)。这个虽然写了三个循环,但是循环条件可以加上“当前两个指针距离大不大于最大的回文子串长度”,若小于,即便是回文也没必要判断了,这样一来虽 阅读全文
posted @ 2019-03-21 14:51 深夜十二点三十三 阅读(141) 评论(0) 推荐(0)
摘要:题解: 总结: 我很惭愧,这个题写了三个多小时都没做出来,我一开始看到时间复杂度,想到二分法,然后不停判断并删除两个数组中大于中位数的值,然后稳定条件是两个数组剩余个数是m+n的一半,程序就是有问题。。。 总得来说还是没有洞悉最有价值的规律,分析情况又把我绕迷糊了,唉,学习到了。 阅读全文
posted @ 2019-03-21 14:38 深夜十二点三十三 阅读(301) 评论(0) 推荐(0)
摘要:分析: 考察链表和编程能力 这个时间复杂度为O(max(m,n)),空间复杂度也是O(max(m,n)) 总结: 编程还是不够熟练,循环里两个if没有第一时间想到,还有为了让顶位为0不显示,我居然写了好几遍,尴尬。 阅读全文
posted @ 2019-03-21 14:28 深夜十二点三十三 阅读(224) 评论(0) 推荐(0)
摘要:// 面试题64:求1+2+…+n // 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case // 等关键字及条件判断语句(A?B:C)。 #include // ====================方法一==================== //使用构造函数 class Temp { public: Temp() { +... 阅读全文
posted @ 2019-03-18 13:56 深夜十二点三十三 阅读(242) 评论(0) 推荐(0)
摘要:// 面试题68:树中两个结点的最低公共祖先 // 题目:输入两个树结点,求它们的最低公共祖先。 #include #include "Tree.h" #include using namespace std; bool GetNodePath(const TreeNode* pRoot, const TreeNode* pNode, list& path)//找到根节点到指定节点的路... 阅读全文
posted @ 2019-03-18 13:31 深夜十二点三十三 阅读(194) 评论(0) 推荐(0)
摘要:// 面试题67:把字符串转换成整数 // 题目:请你写一个函数StrToInt,实现把字符串转换成整数这个功能。当然,不 // 能使用atoi或者其他类似的库函数。 #include long long StrToIntCore(const char* str, bool minus); enum Status { kValid = 0, kInvalid }; int g_nStat... 阅读全文
posted @ 2019-03-18 12:38 深夜十二点三十三 阅读(182) 评论(0) 推荐(0)
摘要:// 面试题66:构建乘积数组 // 题目:给定一个数组A[0, 1, …, n-1],请构建一个数组B[0, 1, …, n-1],其 // 中B中的元素B[i] =A[0]×A[1]×… ×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 #include #include using namespace std; //把B[i]看成[=A[0],A[1],… ,A[i-... 阅读全文
posted @ 2019-03-18 08:59 深夜十二点三十三 阅读(187) 评论(0) 推荐(0)
摘要:// 面试题65:不用加减乘除做加法 // 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷ // 四则运算符号。 #include int Add(int num1, int num2) { int sum, carry; do { sum = num1 ^ num2;//第一步,使用异或求和(没有进位) ca... 阅读全文
posted @ 2019-03-18 08:27 深夜十二点三十三 阅读(203) 评论(0) 推荐(0)
摘要:// 面试题63:股票的最大利润 // 题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖交易该股 // 票可能获得的利润是多少?例如一只股票在某些时间节点的价格为{9, 11, 8, 5, // 7, 12, 16, 14}。如果我们能在价格为5的时候买入并在价格为16时卖出,则能 // 收获最大的利润11。 #include //如果从头到尾遍历所有的数对,时间复杂度O(n^... 阅读全文
posted @ 2019-03-17 16:40 深夜十二点三十三 阅读(447) 评论(0) 推荐(0)
摘要:// 面试题62:圆圈中最后剩下的数字 // 题目:0, 1, …, n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里 // 删除第m个数字。求出这个圆圈里剩下的最后一个数字。 #include #include using namespace std; // ====================方法1==================== //使用环形链表 int L... 阅读全文
posted @ 2019-03-17 16:08 深夜十二点三十三 阅读(223) 评论(0) 推荐(0)