leetcode
Spectre_Mercury
这个作者很懒,什么都没留下…
展开
-
leetcode第7题:整数反转/第8题:字符串转换
可以从反转后的高位开始遍历即输入的低位开始往高遍历,边遍历边累计,即将出现越界的话那就返回0.这道题我不理解为啥超越100%,提交两次都是,可能c用的人少。将这个数反转后返回,保留符号位,如果反转后出现越界则返回0。这道题相对比较简单,主要是有一些要注意的点,一个有符号的32位整形数。2、出现越界后返回了0,1、不使用64位的变量。原创 2023-11-13 14:23:26 · 45 阅读 · 0 评论 -
leetcode第6题:N字形变化
这里通过找规律的方法,但是这个规律只适用于 numRows >= 3的情况,其他情况要单独拎出来,最后重新排列出来的数组就是按。输出:返回一个根据N的形状排列的数组,根据官方的题意相当于对这个字符串重新排列返回一个新的字符串。这里以一个 numRows = n为例子讲,如下图,输入:字符串 ,行数。原创 2023-11-07 15:50:51 · 48 阅读 · 0 评论 -
leetcode第5题:最长回文子串
回文数的规矩是:aba或者aa这种,提交题目才发现 a这种当个字符也算,所以找到找不到的时候就返回第一个字符。这里找到最长的字符串然后malloc后返回就行了。原创 2023-10-31 15:17:09 · 52 阅读 · 1 评论 -
leetcode第4题:寻找两个正序数组的中位数
这里以一个例子来说明思路,下面两个数组(管它们叫数组a,数组b,合并的数组叫c)一个size是2一个是3,总数就是5为奇数,那我们的目标就是找到排序后下标为[2]的元素即c[2]。这里两个数组都不为空,我们先定两个索引,一个指向数组a[0],一个指向b[0],因为a[0]=3 < b[0]=4,那a[0]就是合并后的数组的第0个元素c[0],所以c[0]等于3;接下来就不重复描述了,这时候得到了a[1]=7 > b[1]=6,因此c[2]就是b[1],这里我们也找到了目标的中位数c[2],原创 2023-10-29 15:39:10 · 24 阅读 · 0 评论 -
leetcode第3题:无重复字符的最长子串
这道题需要判断子串的长度那就一定得找到子串的头和子串的尾,然后尾和头的差值就是长度,那就需要一个头指针一个尾指针,尾指针遍历数组每个字符的同时去查询头指针到尾指针这里是否有重复的字符,咋一看跟第1题有点像。原创 2023-10-22 16:01:24 · 48 阅读 · 1 评论 -
leetcode第2题:两数之和
这道题理解了就没啥,注意的地方是最后还有加起来超过10要进1的。原创 2023-10-22 14:03:36 · 28 阅读 · 1 评论 -
leetcode第1题:两数之和
这道题第一次写的时候运行速度比较慢,因为思路局限了,觉得找到目标值得遍历两遍,后来看看评论发现可以用哈希的方式:1-建立一个空的哈希表,2-遍历目标数组的同时往表里查找是否有目标值,如果没有就把当前这个数组的元素插进表里,这样只需要遍历一次就能找到目标值。有时候需要坐地铁的时间太长接近40分钟且是连续的,于是打开leetcode看看,解锁了一点新想法。拼速度的时候就别想节省内存,该堆分配就堆分配,该用全局就用全局,涉及到查找的时候可用哈希这种速度比较快的方式,用c没有现成的库得自己写个差不多的。原创 2023-10-22 10:23:20 · 32 阅读 · 1 评论