- 博客(8)
- 收藏
- 关注
原创 LeetCode刷题——计算质数
大家好,本期刷题日记是计算质数。先看题目:思路:我最开始没想出什么好办法,是用硬算的方法,一个一个除,有能除尽的就不是质数,全都除不尽就是。这种方法很笨,就去看了别人的方法,看到一个很巧妙的,因为我还不太会转载,直接附上他的链接:点击打开新世界的大门学习了,希望能记住这种方法,我们下期见!...
2018-05-21 20:46:13 1526
原创 LeetCode刷题——爬楼梯
大家好,今天刷到了动态规划类型的题,原先对动态规划具体是什么并没有概念,今天趁机了解了一下。很多人觉得动态规划问题就是递归。但我觉得动态规划问题更应该是状态的定义和状态转移方法的定义。通过初始状态和寻找状态转移方法对一个复杂问题进行拆分。先看下问题描述:思路:我最开始不了解动态规划思路的时候想到的是最简单粗暴的排列组合的方法,应该也是对的,但是运行会超时。也是我的心血,还是放上代码:class S...
2018-05-17 16:09:06 358
原创 LeetCode刷题——合并两个有序数组(运行速度beat100%)
大家好,刷完了链表和树,来到了排序和搜索,看下题目:思路是这样的:如果按正常遍历,对nums2的每一位对nums1从头到尾遍历,找到合适的位置插入,这样做要移动的位数很多,时间复杂度为O(mn),且已经知道全部插入完成后nums1的长度为m+n-1.所以可以从后向前地插值。我们设置三个指针,一个temp指向nums1的第m+n-1位,一个i指向nums1的第m-1位,j指向nums2的第n-1位。...
2018-05-16 11:45:05 241
原创 LeetCode刷题——环形链表
大家好,继续刷题,这道题我原本完全没有思路,是看别人的讨论学到的,当成一种现成的方法记录下来吧。题目要求:思路是这样的:设置两个指针,fast和slow,fast每次走两步,slow每次走一步,想象一下,如果链表有环是封闭的话,两个指针在里面就形成了一个追击问题,是早晚会相遇的,我们就依据这一思路来做题。代码如下:/** * Definition for singly-linked list. ...
2018-05-14 10:03:58 2940 1
原创 LeetCode刷题——删除链表的倒数第N个节点
大家好,继续刷题日记,终于做到了链表,之前没有接触过,感觉很陌生,还有很多思路要学,先看一下题:我一开始做,并没有扫描一次就实现的思路,我的思路很简单,先扫描一次算出总长度,然后再扫描一次删掉指定位置的节点。贴上代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListN...
2018-05-10 16:09:16 268
原创 LeetCode刷题——只出现一次的数字
大家好,继续刷题日记数组部分,题目如下:我的思路是这样的:先做一个排序,然后逐个比较,如果相同就跳两个,直到找到跟下一个不同的为止。代码如下:class Solution { public: int singleNumber(vector<int>& nums) { sort(nums.begin(),nums.end()); int len = nu...
2018-05-08 15:34:16 505
原创 LeetCode刷题——旋转数组
大家好,我终于刷完了字符串的题,向数组迈进。做的第一道数组题很简单,来看下题目:使用复杂度为O(1)的原地算法的意思就是不要开辟新的空间,这里定义新的变量是没有关系的,但是注意不能使用new,malloc这类的开辟空间操作,例如不能定义新的vector数组,因为它包含了隐式的new,delete操作。思路如下:定义一个中间变量temp,让它等于数组的最后一位元素,并插入到数组的第一位,然后删除掉数...
2018-05-07 10:12:51 338
原创 LeetCode刷题——字符串中的第一个唯一字符
大家好,结束了五一假期,继续刷题日记。本次题目要求如下:我的思路是这样的:首先计算出s的长度并将s复制给一个字符串cont,进入while循环,知道字符串s为空,使用.find()函数寻找字符串里是否有与s[0]相同的字符若有,使用remove函数把所有与s[0]相同的字符包括s[0]移到字符串尾部,并用erase删除掉这些字符。若没有,则使用.find寻找这个字符在cont中对应的下标i并返回i...
2018-05-02 15:56:42 751
神经网络与深度学习
2017-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人