04 2020 档案

摘要:对题目进行分析可以知道对一个数字进行isHappy判断其可能有两种情况,一个使收敛到1另一个是在一组数中陷入循环。因此我们就通过快慢指针,让慢指针一次移动一位,快指针一次移动两位,若是环形结构则两者必然在某一时刻会相遇,若收敛,快指针一定先一步收敛到1,至于发散的可能性,受制于进制和位数,在试过几个 阅读全文
posted @ 2020-04-30 07:52 runsdeep 阅读(216) 评论(0) 推荐(0)
摘要:由题意可得这是一个山峰形数组的查找类问题,对于山峰形数组,我们可以将其看作是递增和递减的两个有序数组的合并,而对于单一的有序数组,可以很容易的使用二分查找。因此,解题思路很清晰,即找出最高峰,以最高峰为界划分成前后两个有序数组,对两个数组分别二分查找,最后返回题目需要的结果。 而在这样的步骤中,求最 阅读全文
posted @ 2020-04-29 16:42 runsdeep 阅读(198) 评论(0) 推荐(0)
摘要:解题的思路,数组中除了两个不同的元素外其余都两两相等,考虑到若是数组中只有一单独元素不同可以用异或值求解,那么就可以将该数组分成各包含一个单独元素两个数组。 如何划分数组呢?先对数组整体异或,得到两个单独数的异或值,之后,用这个值作为标志来筛选出后一个单独元素的位置,元素位置确定后就可以分成两个各包 阅读全文
posted @ 2020-04-28 10:05 runsdeep 阅读(187) 评论(0) 推荐(0)
摘要:使用依次相加,记录进位的方式进行运算,下面是我的解答,leetcode上运行耗时20ms,内存占用7.3MB struct ListNode{ int val; struct ListNode *next; }; struct ListNode* addTwoNumbers(struct ListN 阅读全文
posted @ 2020-04-27 14:44 runsdeep 阅读(255) 评论(0) 推荐(0)