摘要: 这个题我的思路是从开始遍历数组,找到一样的数字+1,遍历完整个数组即可。我好想每次想到的都是普通的算法,o(╥﹏╥)o剑指offer上说既然是排序,自然就想到了用二分法做,我emmmmm……这个题用二分法做的话,如果发现中间这个k,还要去找它的前几个k和后几个k,就是说找到它的第一个k和最后一个k, 阅读全文
posted @ 2019-07-13 17:52 妮妮熊 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 这个题我拿到的第一个想法确实是遍历两个链表,先遍历第一个链表,在遍历内部再遍历第二个链表。这样两个for循环就可以计算出一样的结点了。剑指offer这一章讲的是算法的效率问题,所以我想这个题一定有更快捷的方法。但是我想不出什么快速的办法,o(╥﹏╥)o看了剑指offer上的解法,主要其实就一句话。两 阅读全文
posted @ 2019-07-13 15:20 妮妮熊 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 这个题我拿到没什么好的思路,除了一个个求的方法之外想不出效率更高的方法。这个题看剑指offer的意思是按照归并排序的方法做的,顺便复习一下归并排序^_^。看到这个题只要能想到用归并排序的方法做就已经成功了一半了,其次就是一些细节问题。写代码,你又思路,又会将思路用代码写出来才可以。只有思路不会写代码 阅读全文
posted @ 2019-07-12 21:12 妮妮熊 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 这个题我一看到,就觉得map很适合,因为map最擅长做这种给字母计数,给单词计数之类的工作。我看到剑指offer上是用hash表做的,其实原理是一样的,但是由于C++中没有hash表的模板,所以我就用map做了。 阅读全文
posted @ 2019-07-12 15:14 妮妮熊 阅读(114) 评论(0) 推荐(0) 编辑
摘要: z剑指offer这一章都是这种题型,求优化解的,尽可能降低算法的复杂度。这个题不难,首先要想清楚什么是丑数,其次,想清楚如何生成丑数。还有,如何表达生成的丑数。这个题在表达丑数的构成上的代码很巧妙。 阅读全文
posted @ 2019-07-11 16:31 妮妮熊 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 这个数我拿到的第一个想法是吧数字变成字符串,然后用字符串比较。看了答案竟然用排序的函数做,排序的函数sort真的是万能的。还有在比较两个字符串的大小的时候,我的思路是一直从字符串里拿元素比较其大小,答案的做法是直接比较字符串,利用了string 的特性。还有一个问题就是注释里写的,这里又没有静态数据 阅读全文
posted @ 2019-07-10 19:38 妮妮熊 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 初次看到这个题的时候,我觉得很复杂,因为不知道所求的子数组的长度,而且里有负数增加了难度。看了答案之后发现竟然可以用这么简单的算法做出来,答案里说用的是贪心算法。 剑指offer上说这个题也可以用动态规划的思路去做,但是代码是一样的。动态规划和贪心算法都是很常考的算法。 接下来写一个时间复杂度低的算 阅读全文
posted @ 2019-07-10 15:40 妮妮熊 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 初次看到这个题的时候,我觉得很复杂,因为不知道所求的子数组的长度,而且里有负数增加了难度。看了答案之后发现竟然可以用这么简单的算法做出来,答案里说用的是贪心算法。 剑指offer上说这个题也可以用动态规划的思路去做,但是代码是一样的。动态规划和贪心算法都是很常考的算法。 阅读全文
posted @ 2019-07-08 19:36 妮妮熊 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 我的第一个思路就是用快排的方法做,找到下标为k 的数字。其中的细节多注意,特别是在快排的函数调用的时候。 第二种方法:在答案里看到的,由于我自己也不是很理解,所以没怎么写注释 阅读全文
posted @ 2019-07-02 08:58 妮妮熊 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 从这个题开始,剑指offer进入了第五章,优化时间和时间效率。开始讲代码的优化,到这里就不得不说排序了。这个题可以用快排的思路做。只要看到这个题能联想到用快排做就解出一半了。 解法二:这个思路是根据这个题目的特点,如果说超过一半的数字,那么其他的数字加起来的结果不会超过它。因此设置一个随机值,并设置 阅读全文
posted @ 2019-06-26 10:56 妮妮熊 阅读(135) 评论(0) 推荐(0) 编辑