leecode
不过是任思量
这个作者很懒,什么都没留下…
展开
-
回文数 Golang leecode_9
很简单的一道题,好像第七题就用到了,直接上代码吧。原创 2023-12-04 14:17:15 · 478 阅读 · 0 评论 -
整数反转 Golang leecode_7
上面代码的时间复杂度应该是 O(count),最后跑出来用时 4ms(击败26.2%的用户),内存消耗 2MB(击败37.85%的用户),一般般。看看题解的优化方案。拿到手第一反应还是暴力,直接从低位到高位把数一个个取出来,然后乘以每一位的权重,构成一个新的反转后的整数 res 返回,代码如下。这一行代码干了我大十几行的工作,同时通过。这两个语句来判断溢出是值得学习的地方。看了一种方法,优雅,简直太优雅了。原创 2023-11-27 20:26:33 · 934 阅读 · 1 评论 -
N字形变换 Golang leecode_6
用时 56ms(超过6.12%用户),内存消耗 6.83MB(超过49.92%的用户)。看到了一个人的题解,思路和我的一样,但是对字符串和二维数组的操作比我牛逼的多,原谅我是golang 小白,下面是代码,很值得我学习。首先还是暴力,先构建一个 numRows 行,1000列的二维数组,然后将字符串 s 变成字符数组按照 N 字形排列,然后再 Z 字形遍历,代码逐过程调试很好看懂。该作者还有一个第二版的优化方案,是针对遍历大多数 0 浪费时间的优化,有空在看吧,佛系刷题。原创 2023-11-27 19:51:03 · 628 阅读 · 0 评论 -
最长回文子串 Golang leecode_5
发现虽然给的一些例子答案都对,但是提交的时候超时了,时间复杂度达到了O(n^3),看看能不能优化。接下来是动态规划的代码题解,同样也是将时间复杂度降到了O(n^2)。还是超时,因为没有从数量级上降低时间复杂度,依然是O(n^3),看来得从根本上优化。原创 2023-11-21 16:32:26 · 508 阅读 · 0 评论 -
寻找两个正序数组的中位数 Golang leecode_4
对于数组 nums1 = {1, 3},nums2 = {2},我们知道从小到大遍历到第1个(从0开始)的时候就是我们想要的值,于是 定义一个 res 变量开始遍历,flag1 := 0 用来取第一个数组元素,flag2 := 0 用来取第二个数组元素,count 变量用来计数,当 count == (len(num1) + len(num2)) / 2 时,break。看了一眼官方的,代码用时要16ms 懒得看了,以后再说吧。这题思路很清晰啊,就是按顺序遍历,然后遍历到中位数的位置 break 出来。原创 2023-11-16 15:36:35 · 281 阅读 · 0 评论 -
无重复字符的最长子串 Golang leecode_3
跑是跑出来了,时间 300ms (仅超过 5% 用户),内存 6.44MB (仅超过 7% 用户),那我得优化以下。我寻思能不能用字符指针,让源代码减少一个 for 循环?笑死了,时间 216ms (仅超过 5.84% 用户),内存 6.46MB (仅超过 6.98% 用户),几乎没有优化。我想着看看大佬都是怎么写的吧。发现大佬用的是滑动窗口,确实酷,来个大佬讲解视频的链接。刚开始的思路,先不管效率,跑出来再说,然后再进行优化。,然后下面是代码,看不懂的朋友可以进行单步调试,我是边调边画图理解的。原创 2023-11-14 10:34:30 · 406 阅读 · 0 评论