算法刷题笔记
文章平均质量分 56
算法刷题笔记
长白秋沙
日拱一卒,功不唐捐。
展开
-
【LeetCode】389_找不同_C
本题可用三个方法来解决方法1首先遍历字符串 s,对其中的每个字符都将计数值加 1;然后遍历字符串 t,对其中的每个字符都将计数值减 1。当发现某个字符计数值为负数时,说明该字符在字符串 t 中出现的次数大于在字符串 s 中出现的次数,因此该字符为被添加的字符。此方法也是我解题时所用的方法,与“383.赎金信”一样,都是用哈希表的思想来解决问题方法2分别对字符串 s 和 t 中每个字符的 ASCII 码的值求和,两者的差值即为被添加的字符方法3。原创 2024-03-04 18:52:38 · 611 阅读 · 1 评论 -
【LeetCode】1768_交替合并字符串_C
实现方式1是我自己的写法,写完之后感觉有点冗余,但又不知如何改进,实现方式2则是借鉴了别人的题解,显然,方式2的代码更加简洁优雅。原创 2024-03-03 09:04:02 · 604 阅读 · 1 评论 -
【LeetCode】383_赎金信_C
题意理解判断 ransomNote 能不能由 magazine 里面的字符构成由此推出,ransomNote 的长度一定要小于等于 magazine 的长度其次,本题与 KMP 算法无关,如果说 ransomNote 是"abc",而 magazine 是"abbc",这也是符合题意的解题思路。原创 2024-03-02 21:43:22 · 800 阅读 · 0 评论 -
【LeetCode】876_链表的中间结点_C
思路一遍历链表得到结点数,根据结点数求中间结点所在位置,再次遍历链表思路二设置两个指针,一个指针为“快指针”,每次前进两个结点,一个指针为“慢指针”,每次前进一个结点,当快指针指向链表尾结点时,慢指针指向链表的中间结点。原创 2024-03-01 16:10:57 · 619 阅读 · 1 评论 -
【LeetCode】412_FizzBuzz_C
1在内存中开辟一块连续的空间,每个小空间是一个字符,将这块空间分割成多个小块空间,这就是字符串数组题目中最长的字符串是"FizzBuzz",该字符串占9个小空间(末尾有个终止符),所以每个小块空间中有9个字符于是有arr 指针指向开辟的空间,answer 指针对该空间起到一个索引的作用,相当于创建了一个字符串数组2如果一个数是3和5的倍数,那么这个数也是15的倍数3将数转换成字符串用到函数 sprintfC 库函数发送格式化输出到str所指向的字符串。原创 2024-02-29 13:43:18 · 515 阅读 · 1 评论