LeetCode
文章平均质量分 73
剑指offer等题
MINGgoS
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode 41 ~ 50
41. 缺失的第一个正数桶排序:若数字不为INT_MIN,则将该数字自减一次使用桶排序,将每个数字放到对应索引的位置上最后遍历一遍数组,若nums[i] != i,则返回i + 1时间复杂度为O(n)O(n)O(n),不使用额外空间,空间复杂度为O(1)O(1)O(1)class Solution {public: int firstMissingPositive(vector<int>& nums) { int n = nums.size();原创 2022-02-10 15:06:12 · 320 阅读 · 0 评论 -
LeetCode 31 ~ 40
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\foralln\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过 Euler integralΓ(z)=∫0∞tz−1e−tdt .\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.Γ(z)=∫0∞tz−1e−tdt.原创 2022-01-21 20:23:03 · 673 阅读 · 0 评论 -
LeetCode 61 ~ 70
LeetCode 61. 旋转链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) :原创 2021-10-23 16:01:19 · 160 阅读 · 0 评论 -
LeetCode 51 ~ 60
LeetCode 51. N 皇后因为每行每列每条对角线都只能有一个皇后,所以可以将各行的皇后映射到同一列上,枚举每列每条对角线是否有皇后。接着分析,对角线上的皇后。皇后坐标为(i,j)正对角线映射到一个数组dg中,由于此时i = j + c1的c1可能为负数,所以需要加上一个偏移量保证c1为正数,用dg[i - j + n] 记录这条正对角线反对角线映射到一个数组udg,此时i = - j + c2 ,c2必定为正数,用udg[ i + j ]记录这条反对角线在回溯的过程中只要满足!col[原创 2021-10-20 15:46:54 · 369 阅读 · 0 评论 -
LeetCode 50. Pow(x, n)
50. Pow(x, n)比较典型的一道快速幂题目,可以使用位运算实现,也可以使用递归的做法实现,这里采用位运算的实现方式class Solution {public: double myPow(double x, int n) { //long long类型方便计算 typedef long long LL; //记录指数幂是否为负数 bool is_minus = n < 0; //res原创 2021-10-19 14:26:45 · 123 阅读 · 0 评论 -
LeetCode 21 ~ 30
LeetCode 21. 合并两个有序链表新建头部的保护结点 dummy,设置 cur 指针指向dummy。若当前 l1 指针指向的结点的值 val比l2指针指向的结点的值val,则令 cur 的next 指针指向l1,且 l1后移;否则指向 l2,且l2 后移。然后cur指针按照上一部设置好的位置后移。循环以上步骤直到l1 或l2 为空。将剩余的l1或l2接到cur指针后边。/** * Definition for singly-linked list. * struct ListNo原创 2021-10-23 00:00:55 · 181 阅读 · 0 评论 -
LeetCode 11 ~ 20
LeetCode 11. 盛最多水的容器双指针算法。if(a[i] > a[j]) j --else i ++这一步为本题的核心,接着迭代更新最大值即可class Solution {public: int maxArea(vector<int>& height) { int res = 0; for(int i = 0, j = height.size() - 1; i < j;) { res =原创 2021-10-20 09:25:25 · 130 阅读 · 0 评论 -
LeetCode 1 ~ 10
LeetCode 1. 两数之和使用哈希表记录每个遍历过的数和对应的位置,使用目标值减去当前遍历到的数值得到想要的值r,如果哈希表中已经存在这个值r,那么就返回r对应的下表和当前遍历到的值得下标。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> hash; for(int原创 2021-10-19 14:34:17 · 155 阅读 · 0 评论
分享