![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Leetcode算法之路-Easy
Leetcode简单题记录
Love 6
腾讯WXG在职后台小鹅
展开
-
剑指 Offer 62. 圆圈中最后剩下的数字 约瑟夫环(DAY 304)---- 后端面试题
文章目录原题题目代码实现(首刷看解 dp + 逆向迭代 C++)原题题目代码实现(首刷看解 dp + 逆向迭代 C++)class Solution { public: int lastRemaining(int n, int m) { int ret = 0; for (int i = 2; i <= n; ++i) { ret = (ret + m) % i; } return ret; }};...原创 2022-05-27 10:06:01 · 194 阅读 · 0 评论 -
Leetcode 剑指 Offer 58 - I. 翻转单词顺序(DAY 264)---- 后端面试题(注意细节)
文章目录原题题目代码实现(首刷自解 注意很多细节)原题题目代码实现(首刷自解 注意很多细节)class Solution {public: string reverseWords(string s) { reverse(s.begin(),s.end()); int start = 0,end = 0,size = s.size(); int pos = 0,nowpos = 0; while(nowpos <原创 2022-03-12 10:41:29 · 7606 阅读 · 0 评论 -
Leetcode 724. 寻找数组的中心下标(DAY 262)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: int pivotIndex(vector<int>& nums) { int sum = 0,tmpsum = 0,size = nums.size(); for(const auto& num:nums) sum += num; for(int原创 2022-03-09 10:02:15 · 258 阅读 · 0 评论 -
Leetcode 557. 反转字符串中的单词 III(DAY 259)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: string reverseWords(string s) { string ret; int size = s.size(); for(int pos = 0;pos < size;) { int start = pos,end = pos; whil原创 2022-03-06 09:08:46 · 221 阅读 · 0 评论 -
Leetcode 剑指 Offer 52. 两个链表的第一个公共节点(DAY 257)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *getIntersectionNod原创 2022-03-04 09:16:17 · 227 阅读 · 0 评论 -
Leetcode 225. 用队列实现栈(DAY 255)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class MyStack {public: queue<int> q1,q2; MyStack():q1(),q2() {} void push(int x) { q2.emplace(x); if(!q1.empty()) { while(!q1.empty()) {原创 2022-03-02 13:39:45 · 1462 阅读 · 0 评论 -
Leetcode 剑指 Offer 09. 用两个栈实现队列(DAY 255)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class CQueue {public: stack<int> s1,s2; CQueue():s1(),s2() {} void appendTail(int value) { s1.emplace(value); } int deleteHead() { if(s2.empty() && s1.empt原创 2022-03-02 09:47:58 · 164 阅读 · 0 评论 -
Leetcode 168. Excel表列名称(DAY 253)---- 后端面试题
文章目录原题题目代码实现(首刷小部分看解 10进制转16进制 C++)原题题目代码实现(首刷小部分看解 10进制转16进制 C++)class Solution {public: string convertToTitle(int columnNumber) { string ret; columnNumber -= 1; while(columnNumber >= 0) { int t原创 2022-02-28 09:56:47 · 157 阅读 · 0 评论 -
Leetcode 83. 删除排序链表中的重复元素(DAY 249)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)/** * 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原创 2022-02-21 13:38:34 · 583 阅读 · 0 评论 -
Leetcode 面试题 01.06. 字符串压缩(DAY 245)---- 后端面试题
文章目录原题题目代码实现(首刷自解 模拟即可)原题题目代码实现(首刷自解 模拟即可)class Solution {public: string compressString(string S) { if(S.empty()) return S; string simple_str; char prechr = 0; int times = 0,size = S.size(); for(int原创 2022-02-17 12:00:41 · 156 阅读 · 0 评论 -
Leetcode 252. 会议室(DAY 244)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: bool canAttendMeetings(vector<vector<int>>& intervals) { if(intervals.empty()) return true; sort(intervals.begin(),intervals.end(),[&](const auto&am原创 2022-02-16 11:47:32 · 363 阅读 · 0 评论 -
Leetcode 852. 山脉数组的峰顶索引(DAY 240)---- 后端面试题
文章目录原题题目代码实现(首刷看了点解 注意二分条件 不要与left right比较)原题题目代码实现(首刷看了点解 注意二分条件 不要与left right比较)class Solution {public: int peakIndexInMountainArray(vector<int>& arr) { int left = 0,right = arr.size() - 1; while(left < right)原创 2022-02-11 11:59:51 · 878 阅读 · 0 评论 -
Leetcode 482. 密钥格式化(DAY 240)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: string licenseKeyFormatting(string s, int k) { int size = s.size(); string ret,str; for(int i = size - 1;i >= 0;--i) { if(s[i] != '-')原创 2022-02-11 11:22:00 · 235 阅读 · 0 评论 -
Leetcode 228. 汇总区间(DAY 239)---- 后端面试题
文章目录原题题目代码实现(首刷自解 简单逻辑题)原题题目代码实现(首刷自解 简单逻辑题)class Solution {public: vector<string> summaryRanges(vector<int>& nums) { vector<string> ret; int pos = 0,size = nums.size(); while(pos < size)原创 2022-02-09 11:48:36 · 297 阅读 · 0 评论 -
剑指 Offer 65. 不用加减乘除做加法(DAY 238)---- 后端面试题
文章目录原题题目代码实现(首刷看解 如果相同则向左进位,进位的位置异或置零,不相同的位置依然保持 C++不支持负数位移)原题题目代码实现(首刷看解 如果相同则向左进位,进位的位置异或置零,不相同的位置依然保持 C++不支持负数位移)class Solution {public: int add(int a, int b) { if(!a || !b) return a ^ b; return add(a ^ b,(unsigned int)(原创 2022-02-08 11:42:45 · 654 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字(DAY 236)---- 后端面试题
文章目录原题题目代码实现(首刷自解 需要在草稿本上划一下 原地哈希)原题题目代码实现(首刷自解 需要在草稿本上划一下 原地哈希)class Solution {public: int findRepeatNumber(vector<int>& nums) { int size = nums.size(); for(int i = 0;i < size;) { if(nums[i] ==原创 2022-02-05 10:42:09 · 577 阅读 · 0 评论 -
Leetcode 剑指 Offer 40. 最小的k个数(DAY 235)---- 后端面试题
文章目录原题题目代码实现(首刷自解 快排)原题题目代码实现(首刷自解 快排)class Solution {public: int partition(vector<int>& arr,int left,int right) { swap(arr[(left + right) / 2],arr[left]); int low = arr[left],l = left,r = right + 1,size = arr.siz原创 2022-02-02 11:38:18 · 604 阅读 · 0 评论 -
Leetcode 405. 数字转换为十六进制数(DAY 235)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: string toHex(int num) { if(!num) return "0"; unordered_map<int,char> map; for(int i = 0;i < 16;++i) { if(i < 10) map[i] = '0' +原创 2022-02-02 11:11:50 · 885 阅读 · 0 评论 -
剑指 Offer 39. 数组中出现次数超过一半的数字(DAY 231)---- 后端面试题
文章目录原题题目代码实现(首刷自解 摩尔计数法)原题题目代码实现(首刷自解 摩尔计数法)class Solution {public: int majorityElement(vector<int>& nums) { int times = 1,ret = nums[0]; for(int i = 1;i < nums.size();++i) { auto num = nums[i];原创 2022-01-25 09:15:58 · 273 阅读 · 0 评论 -
Leetcode 703. 数据流中的第 K 大元素(DAY 230)---- 后端面试题(复健期)
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class KthLargest {public: int knum; priority_queue<int,vector<int>,greater<int>> minheap; KthLargest(int k, vector<int>& nums) { knum = k; for(auto&原创 2022-01-18 10:08:07 · 375 阅读 · 0 评论 -
Leetcode 1047. 删除字符串中的所有相邻重复项(DAY 229)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: string removeDuplicates(string s) { string ret; for(const auto& chr:s) { if(!ret.empty() && ret.back() == chr) ret.pop_back原创 2022-01-17 10:14:26 · 152 阅读 · 0 评论 -
Leetcode 876. 链表的中间结点(DAY 227)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)/** * 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原创 2021-12-18 11:29:43 · 497 阅读 · 0 评论 -
剑指 Offer 57 - II. 和为s的连续正数序列(DAY 226)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: vector<vector<int>> findContinuousSequence(int target) { vector<vector<int>> ret; if(target < 3) return ret; int left = 1,right =原创 2021-12-17 12:37:33 · 88 阅读 · 0 评论 -
Leetcode 459. 重复的子字符串(DAY 221)---- 后端面试题
文章目录原题题目代码实现(首刷看了思路 自解 KMP next)原题题目代码实现(首刷看了思路 自解 KMP next)class Solution {public: void getnext(vector<int>& next,string& s) { int pos = 0,size = s.size(); for(int i = 1;i < size;++i) {原创 2021-12-10 13:34:32 · 212 阅读 · 0 评论 -
Leetcode 706. 设计哈希映射(DAY 219)---- 后端面试题
文章目录原题题目代码实现(首刷自解 拉链法)原题题目代码实现(首刷自解 拉链法)class MyHashMap {private: vector<list<pair<int,int>>> hashmap; static const int base = 1000; static int hash(int key) { return key % base; }public: MyHash原创 2021-12-08 12:27:47 · 165 阅读 · 0 评论 -
Leetcode 9. 回文数(DAY 213)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: bool isPalindrome(int x) { if(x < 0) return false; if(x == 0) return true; long num = 0,tmpx = x; while(tmpx) { if(num > x)原创 2021-12-02 12:33:43 · 183 阅读 · 0 评论 -
Leetcode 232. 用栈实现队列(DAY 210)---- 后端面试题
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class MyQueue {public: stack<int> s1{}; stack<int> s2{}; MyQueue() { } void push_s2() { if(s2.empty()) { while(!s1.empty())原创 2021-11-29 12:06:27 · 191 阅读 · 0 评论 -
Leetcode 剑指 Offer 22. 链表中倒数第k个节点(DAY 208)---- 后端面试题
文章目录原题题目代码实现(首刷自解 递归)代码实现(首刷 快慢指针)原题题目代码实现(首刷自解 递归)/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode*原创 2021-11-25 21:27:24 · 352 阅读 · 0 评论 -
Leetcode 415. 字符串相加(DAY 201)---- 后端面试题
文章目录原题题目代码实现(首刷自解 双百)原题题目代码实现(首刷自解 双百)class Solution {public: string addStrings(string num1, string num2) { int pos1 = 0,pos2 = 0,size1 = num1.size(),size2 = num2.size(); int carry = 0; string ret; reverse(num1.原创 2021-11-09 10:02:17 · 273 阅读 · 0 评论 -
Leetcode Mysql 584. 寻找用户推荐人(DAY 5)
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)# Write your MySQL query statement belowSELECT nameFROM customerWHERE referee_id is null or referee_id <> 2原创 2021-10-02 12:05:47 · 131 阅读 · 0 评论 -
Leetcode Mysql 1378. 使用唯一标识码替换员工ID(DAY 2)
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)# Write your MySQL query statement belowselect unique_id,namefrom employees e_name left join employeeuni e_uni on e_name.id = e_uni.id原创 2021-09-29 11:27:45 · 140 阅读 · 0 评论 -
Leetcode Mysql 1683. 无效的推文(DAY 1)
文章目录原题题目字符串Len函数介绍代码实现(首刷自解)原题题目字符串Len函数介绍1、char_length(str)(1)计算单位:字符(2)不管汉字还是数字或者是字母都算是一个字符2、length(str)(1)计算单位:字节(2)utf8编码:一个汉字三个字节,一个数字或字母一个字节。(3)gbk编码:一个汉字两个字节,一个数字或字母一个字节。代码实现(首刷自解)# Write your MySQL query statement belowselect twe原创 2021-09-28 15:25:50 · 171 阅读 · 0 评论 -
Leetcode LCP 28. 采购方案(DAY 177)---- 二分查找学习期
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: int purchasePlans(vector<int>& nums, int target) { int left = 0,right = nums.size()-1,ret = 0; sort(nums.begin(),nums.end()); while(left < right)原创 2021-09-28 09:50:27 · 131 阅读 · 0 评论 -
Leetcode LCP 18. 早餐组合(DAY 177)---- 二分查找学习期
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: int breakfastNumber(vector<int>& staple, vector<int>& drinks, int x) { sort(staple.begin(),staple.end()); sort(drinks.begin(),drinks.end()); lo原创 2021-09-28 09:43:24 · 140 阅读 · 0 评论 -
Leetcode 剑指 Offer 53 - II. 0~n-1中缺失的数字(DAY 177)---- 二分查找学习期
文章目录原题题目代码实现(首刷自解 - - 太简单了这种题目)原题题目代码实现(首刷自解 - - 太简单了这种题目)class Solution {public: int missingNumber(vector<int>& nums) { int left = 0,right = nums.size()-1; while(left < right) { int mid = (left原创 2021-09-28 08:58:22 · 99 阅读 · 0 评论 -
Leetcode 278. 第一个错误的版本(DAY 176)---- 二分查找学习期
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)// The API isBadVersion is defined for you.// bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { int left = 0,right = n; while(left < right) {原创 2021-09-27 13:25:29 · 97 阅读 · 0 评论 -
Leetcode 剑指 Offer 11. 旋转数组的最小数字(DAY 176)---- 二分查找学习期
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: void helper(vector<int>& numbers,int left,int right,int& ret) { if(left > right) return; if(left == right || numbers[left] < numbers[right])原创 2021-09-27 13:14:31 · 117 阅读 · 0 评论 -
Leetcode 剑指 Offer II 068. 查找插入位置(DAY 176)---- 二分查找学习期
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: int my_lower_bound(vector<int>& nums,int target) { int left = 0,right = nums.size(); while(left < right) { int mid = (left + right)/2原创 2021-09-27 12:08:43 · 130 阅读 · 0 评论 -
Leetcode 剑指 Offer 53 - I. 在排序数组中查找数字 I(DAY 176)---- 二分查找学习期
文章目录原题题目代码实现(首刷自解 题目很简单 自写upper lower_bound函数)原题题目代码实现(首刷自解 题目很简单 自写upper lower_bound函数)class Solution {public: int my_upper_bound(vector<int>& nums,int target) { int left = 0,right = nums.size(); while(left <原创 2021-09-27 11:52:33 · 129 阅读 · 0 评论 -
Leetcode 1539. 第 k 个缺失的正整数(DAY 175)---- 二分算法学习期
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: int findKthPositive(vector<int>& arr, int k) { int pos = 0,pre = 0; while(pos < arr.size()) { int disappear_num = arr[pos] - pos - 1;原创 2021-09-26 13:28:19 · 130 阅读 · 0 评论