小f的刷题笔记
文章平均质量分 61
小f要努力啦
小白努力不再白!
展开
-
LeetCode35 二分查找入门 - 搜索插入位置 C++
题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。题目传送示例示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4提示:1 <= nums.length原创 2022-05-25 00:01:27 · 97 阅读 · 0 评论 -
杭电oj1003 - MAX SUM & LeedCode #53 最大子数组和
一、杭电oj1003 - MAX SUMProblem DescriptionGiven a sequence a[1],a[2],a[3]…a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.InputThe first line of the inpu原创 2022-04-06 14:55:18 · 1337 阅读 · 0 评论 -
【小f的刷题笔记】(JS)O(1)时间内查找删除数组元素 - O(1)时间插入、删除和获取随机元素 LeetCode380 & 黑名单中的随机数 LeetCode710
初始化一个Map用来存放映射关系,bound变量为白名单的元素个数,再新建一个Set来存储在在[n-m, n)这个范围之内的黑名单元素。哈希表可以在O(1)时间内完成插入和删除的操作,但是无法根据下标找到特定元素,所以不能在O(1)时间内完成获取随机元素操作。因为数组不可能在O(1)时间判断该元素是否存在,所以不能O(1)时间内完成插入和删除操作,但可以完成随机获取元素操作。生成[0, bound)的随机数x,先去Map里找,找的到的话就返回映射后的值。生成一个0-1之间的随机数。理解后这些思想太妙了。原创 2023-01-12 02:20:06 · 327 阅读 · 1 评论 -
【小f的刷题笔记】(JS)单调栈 - 下一个更大元素 LeetCode496 & 下一个更大元素的下标 LeetCode739 & 循环数组中下一个更大元素 LeetCode503
单调栈:顾名思义,就是这个栈是单调的,后面也会运用这一点。原创 2023-01-08 00:59:17 · 186 阅读 · 0 评论 -
【小f的刷题笔记】(JS)反转链表【递归】 - 反转整个链表 LeetCode206 & 反转部分链表 LeetCode92
反转部分元素 -> 递归成反转前n个元素。利用递归,让每个链表元素的指针反向。这个递归反转链表的思路真的太牛了。反转前n个元素的思路想了好久。原创 2023-01-06 00:18:05 · 209 阅读 · 0 评论 -
【小f的刷题笔记】(JS)阶乘 - 阶乘后的零 LeetCode172 & 阶乘函数后K个零 LeetCode793
这道题就是利用一个求阶乘尾数为0的数量的函数,再利用二分查找寻找到尾数为0的数量是k的左右边界,从而得出这样的数有多少个。并且,可想而知,找的到因数5,必然找的到因数2与之搭配(只要是偶数就可以找的到2)0的产生是一定是因为2*5产生的,所以就是。中求阶乘后尾数0的数量的函数。中二分查找找到左右边界的函数。原创 2023-01-03 16:56:21 · 294 阅读 · 0 评论 -
【小f的刷题笔记】(JS)双指针 - 滑动窗口 四类典型问题(附JS模版和详细注释代码)LeetCode76 & LeetCode567 & LeetCode438 & LeetCode3
利用map对象建立滑动窗口,相关题目都可以通过套框架来解决✔最小覆盖子串✔字符串的排列✔找到字符串中所有字母异位词✔无重复字符的最长子串。原创 2022-12-30 01:30:10 · 243 阅读 · 0 评论 -
【小f的刷题笔记】(JS)链表 - 单链表的倒数第 k 个节点 LeetCode19 & 单链表的中点 LeetCode876
✔。原创 2022-12-11 16:57:56 · 289 阅读 · 0 评论 -
【小f的刷题笔记】(JS)链表 - 合并 k 个有序链表 LeetCode23 - 顺序&合并&暴力三种方法
🌟看了很多题解,主要是以下四种方法(优先队列我还没有写出来,先遗留着):✔✔✔✔。原创 2022-12-10 00:09:32 · 709 阅读 · 0 评论 -
【小f的刷题笔记】(JS)链表 - 单链表的分解 LeetCode86
86.分隔链表1️⃣ 先分开为两个新链表,然后再连成一个2️⃣ 定义两个哑结点并分别对应两个游标,然后去遍历原始链表3️⃣ 遍历完后,把p2.next置空4️⃣ 再把这两个链表相连,返回的是dummy1.next(因为要跳过一开始的哑结点)🌟 链表注意点:1、用 const 定义 dummy 这个哑结点,用 let 定义 p 这个游标(dummy是标记开头的,p是会往后的)2、链表最后一定要记得手动置空,不然这道题有些地方会节点成环写在最后:下课后赶了一下午和一晚上的期末大作业回寝室已经凌晨了原创 2022-12-08 01:38:56 · 375 阅读 · 0 评论 -
【小f的刷题笔记】(JS)链表 - 合并两个有序链表 LeetCode21
leetcode21原创 2022-12-07 01:43:31 · 90 阅读 · 0 评论 -
【小f的刷题笔记】(JS)数组 - 差分数组 LeetCode1109 & LeetCode1094
🌟 频繁对原始数组的某个区间的元素进⾏增减原创 2022-12-06 01:18:30 · 339 阅读 · 0 评论 -
【小f的刷题笔记】(JS)数组 - 前缀和 LeetCode303 & LeetCode34
原始数组不会被修改的情况下,频繁查询某个区间的累加和原创 2022-12-05 00:08:59 · 464 阅读 · 0 评论