标签: LeetCode

12 个内容

笔记(7)

本文介绍LeetCode二进制手表问题解法。**背景**:手表4小时灯+6分钟灯,亮灯总数为turnedOn。**关键问题**:枚举有效时间并统计二进制1个数。**主要方案**:直接遍历12×60组合,使用`toString(2).split('1').length-1`或`n&(n-1)`位运算计数1,格式化输出时间。回溯法为进阶。

Elliot Yang·
31 浏览

本文针对统计字符串所有子串中元音字母总数的问题,提出了一个高效的解决方案。传统方法复杂度过高,本文通过数学推导,得出每个元音的贡献值为 `(i+1) * (n-i)`,其中 i 是元音的下标,n 是字符串长度。最终,只需一次遍历即可得到答案,时间复杂度为 O(n)。

Elliot Yang·
101 浏览

本文介绍了动态规划在解决最长回文子串问题中的应用。针对该问题,提供了两种解法:一种使用动态规划构建二维数组记录所有子串的回文状态,另一种采用中心扩散法,以每个字符为中心向外扩展。前者时空复杂度均为O(n^2),后者时间复杂度为O(n^2),空间复杂度为O(1)。

Elliot Yang·
104 浏览

本文介绍了解决 Car Fleet 问题的 Rust 代码实现。问题背景是计算到达相同目的地的车队数量,关键在于理解车队的概念:即以相同速度和位置行驶的车辆集合。解决方案是计算每辆车到达目的地的时间,排序后,如果后续车辆到达时间大于当前车队,则形成新的车队。

Elliot Yang·
92 浏览

本文介绍了求解数组中唯一元素和的问题。分别使用 Rust 和 TypeScript 两种语言,通过 Hashmap 统计数组中每个元素的出现次数,然后过滤出只出现一次的元素并求和。Rust 解法中使用了 `fold` 和 `filter_map` 方法。

Elliot Yang·
98 浏览

本文探讨了反转链表问题。针对该问题,文章提供了两种解决方案:递归和双指针。递归方案的关键在于确定基本情况,而双指针方案则通过迭代改变节点指向来反转链表。文章给出了对应 TypeScript 代码示例。

Elliot Yang·
144 浏览

本文介绍了KMP字符串匹配算法,旨在解决朴素匹配算法效率低下的问题。核心在于利用前缀表(next数组)记录模式串的最长相同前后缀,从而在匹配失败时快速跳转,实现O(n+m)的时间复杂度。文中详细解释了next数组的计算方法和应用。

Elliot Yang·
108 浏览

动态(5)

E
Elliot Yang
公开

基于最近的感受基本上不做题的公司都是比较拉的

勤劳的码师傅早早起来,打开leetcode开始 做今天的简单题, 经过他的不懈努力,终于 在4小时后打开了题解。--来自扣友
浏览:159点赞:0
E
Elliot Yang
公开

via ㅤㅤㅤ Mayuri

勤劳的码师傅早早起来,打开leetcode开始 做今天的简单题, 经过他的不懈努力,终于 在4小时后打开了题解。--来自扣友
浏览:145点赞:0
E
Elliot Yang
公开

2022-10-21 日报

浏览:134点赞:0
E
Elliot Yang
公开

2022-10-19 日报

浏览:136点赞:0
E
Elliot Yang
公开

2022-10-18 日报

浏览:170点赞:0