- 博客(6)
- 收藏
- 关注
原创 力扣刷题日记 day6
使用两个字典,一个字典是index -> number,另一个字典是number -> indexs,其中indexs使用有序集合存储,一方面实现了 O(logn) 的change时间复杂度,另一方面保证了 O(1) 的最小值查询时间复杂度。// 数字 10 所在的下标为 1 ,2 ,3 和 5。// 数字 10 所在下标为 2 ,3 和 5。// 容器中下标为 2 处填入数字 10。// 容器中下标为 1 处填入数字 10。// 容器中下标为 3 处填入数字 10。
2025-09-17 23:12:41
274
原创 力扣刷题日记 day5
在窗口滑动过程中,队列的队头元素,即为当前窗口下的最大元素,得解。时间复杂度:O(n),空间复杂度:O(k)。,滑动窗口每并入一个元素,将其加入大根堆,并根据堆顶元素是否在滑动窗口,选择性的删除或加入结果。时间复杂度:O(nlogn),空间复杂度:O(n)。,队列中存放着当前窗口下依次递减的“最大值”(形如[第一最大值,第二最大值,……:窗口向右滑动一个,一方面会将窗口内最左元素侧移出,另一方面会将窗口外右侧元素并入,。:判断其是否与当前队列的队头元素相同,若相同,则队头元素出队。在整个过程中,维护一个。
2025-09-16 23:46:40
295
原创 力扣刷题日记 day4
中等给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。思路:利用滑动窗口,滑动窗口中为当前最长子串。
2025-09-13 22:36:15
1728
原创 力扣刷题日记 day3
中等给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。思路:如果用暴力遍历去做,需要 O(N^3) 的时间复杂度。可以先将数组排序,并遍历第一个数,在第一个数后的部分数组中,寻找另外两个数,
2025-09-12 23:44:06
1396
原创 力扣刷题日记 day2
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下进行操作。nums =nums =[0][0]思路:由于要原地操作,利用双指针的思想,将非零元素左移,最后用零填充。
2025-09-11 13:34:14
350
原创 力扣刷题日记 day1
简单给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]知识点:学会利用哈希表记录历史信息。
2025-09-10 22:21:38
1736
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅