![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode杂记
leetcode杂记
谜底666
我迷恋的时光自天空倾倒
展开
-
hot100
使用前缀和+hash的思想,单独的前缀和会超时,前缀和的思路就是用一个数组来存每个位置之前的前缀和,注意一般是pre[i+1] = pre[i]+nums[i],然后默认pre[0]=0(看题目灵活变化,也可能是pre[i] = pre[i-1] + nums[i-1]),本题中用一个变量记也可以;考虑原地哈希的办法,具体思路是,在经过一系列的调整后,使得每个位置存对应这个位置的数,即nums[i] == i+1, 在i=0的时候代表第一个位置存1,若不相等,则返回i+1;(好神奇的思路,不好理解,背吧)原创 2024-07-13 20:17:28 · 853 阅读 · 0 评论 -
整数反转-int
主要这道题给定的int而不是string,不是双指针解法,就是数学计算法。给定一个整数,求出反转后的数。原创 2024-07-05 07:44:24 · 233 阅读 · 0 评论 -
各种排序算法实现
【代码】各种排序算法实现。原创 2023-10-18 21:04:57 · 158 阅读 · 0 评论 -
leetcode347 前 K 个高频元素
听名字是个top K问题,首先也得记住,top K问题一般考虑用堆解决,其中求前K大元素用小顶堆,求前K小用大顶堆,原因是这个二叉树中,push到叶子节点,而pop的是根节点(最小值或最大值)。然后这个的时间复杂度是O(nlogk),而直接快排的时间复杂度是O(nlogn),所以数据量越大,差别越明显(感觉数据量小的时候可能差别还好)。给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。输入: nums = [1,1,1,2,2,3], k = 2。原创 2022-08-20 08:02:35 · 58 阅读 · 0 评论 -
leetcode1219 黄金旷工 middle
没看懂。。。先记录下来,后面有时间再回顾 题目: 你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量;如果该单元格是空的,那么就是 0。 为了使收益最大化,矿工需要按以下规则来开采黄金: 每当矿工进入一个单元,就会收集该单元格中的所有黄金。 矿工每次可以从当前位置向上下左右四个方向走。 每个单元格只能被开采(进入)一次。 不得开采(进入)黄金数目为 0 的单元格。 矿工可以从网格中转载 2022-02-05 20:16:39 · 107 阅读 · 0 评论