![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode题目
简单回顾一天在leetcode上练习的题目,不定时更新
Ls_attack
这个作者很懒,什么都没留下…
展开
-
2021_02_05 LeetCode刷题
807. 保持城市天际线简单模拟题。统计每行最大值和每列最大值,遍历矩阵,当前位置能够相加的最大数值为:该行最大值和该列最大值中的较小值与当前位置上数的差。class Solution {public: int maxIncreaseKeepingSkyline(vector<vector<int>>& grid) { int n = grid.size(); vector<int> row(n, 0);原创 2021-02-05 14:53:10 · 128 阅读 · 0 评论 -
2020_02_04 LeetCode刷题
1551. 使数组中所有元素相等的最小操作数简单模拟题。根据n为奇数偶数可以找到规律,然后分情况讨论即可。class Solution {public: int minOperations(int n) { int ans = 0; if(n % 2 == 0) { for(int i = 0; i < n / 2; i++) { int sum1 = 2 * i + 1;原创 2021-02-04 21:54:11 · 103 阅读 · 0 评论 -
2021_02_03 LeetCode刷题
1523. 在区间范围内统计奇数数目简单模拟题。分情况讨论边界奇偶数即可。class Solution {public: int countOdds(int low, int high) { int ans = 0; if(low % 2 == 0) { if(high % 2 == 0) ans = (high - low) / 2; else原创 2021-02-03 13:30:42 · 153 阅读 · 0 评论 -
2021_02_02 LeetCode刷题
1437. 是否所有 1 都至少相隔 k 个元素简单模拟题。遍历数组判定即可。class Solution {public: bool kLengthApart(vector<int>& nums, int k) { int n = nums.size(); int prev = -1; for (int i = 0; i < n; ++i) { if (nums[i] == 1) {原创 2021-02-02 14:09:53 · 111 阅读 · 0 评论 -
2021_02_01 LeetCode刷题
1736. 替换隐藏数字得到的最晚时间简单模拟题。就一个个判定即可。class Solution {public: string maximumTime(string time) { if(time[0] == '?') { if(time[1] == '?') time[0] = '2', time[1] = '3'; else { if(time[1] &g原创 2021-02-01 14:21:54 · 132 阅读 · 0 评论 -
2021_01_29 LeetCode刷题
LCP 02. 分式化简简单模拟题。找到循环体,之后循环即可实现,最后需要约去最大公约数。class Solution {public: vector<int> fraction(vector<int>& cont) { vector<int> ans; int fenmu = 0, fenzi = 0, len1 = cont.size(); if(len1 == 1)原创 2021-01-29 22:35:32 · 94 阅读 · 0 评论 -
2021_01_28 LeetCode刷题回顾
1700. 无法吃午餐的学生数量简单模拟题。按照题目意思进行模拟即可。class Solution {public: int countStudents(vector<int>& students, vector<int>& sandwiches) { int m = students.size(); int n = sandwiches.size(); vector<int> e原创 2021-01-28 14:06:28 · 121 阅读 · 0 评论 -
2021_01_27 LeetCode刷题
1389. 按既定顺序创建目标数组简单模拟题。class Solution {public: vector<int> createTargetArray(vector<int>& nums, vector<int>& index) { int len1 = nums.size(); vector<int> ans(len1); for(int i = 0;i < len1原创 2021-01-27 13:41:50 · 142 阅读 · 0 评论 -
2021_01_26 LeetCode刷题
1480. 一维数组的动态和简单模拟题。简简单单前缀和即可。class Solution {public: vector<int> runningSum(vector<int>& nums) { vector<int> ans; int len1 = nums.size(), sum = 0; for(int i = 0; i < len1; i++) { sum +原创 2021-01-26 20:33:56 · 82 阅读 · 0 评论 -
2021_01_25 LeetCode刷题
860. 柠檬水找零简单模拟题。对于5美元,10美元,20美元分别进行记录,对于要找钱数的情况也分别进行判定,判断是否符合条件找零要求即可。class Solution {public: bool lemonadeChange(vector<int>& bills) { int num1[3] = {0}, length1 = bills.size(); bool flag = true; for(int i = 0;原创 2021-01-25 14:35:09 · 114 阅读 · 0 评论 -
2021_01_23 LeetCode刷题
724. 寻找数组的中心索引简单模拟题。先遍历一遍求取所有元素的和,之后重新遍历,遍历的过程中对于每一个元素进行求和,作为左边元素的和,右边元素的和则使用总共的和减去左边元素的和与当前的元素即可得到。遍历的时候第一个元素的下标进行特殊判定。空数组也需要特殊判定。class Solution {public: int pivotIndex(vector<int>& nums) { int sum = 0, length1 = nums.size();原创 2021-01-23 20:57:16 · 83 阅读 · 0 评论 -
2021_01_22 LeetCode刷题
700. 二叉搜索树中的搜索递归模拟题。根据二叉搜索树的性质,如果当前根节点为空,则直接返回空,如果当前值等于目标值,则直接返回该节点即可,如果当前值小于目标值,则递归遍历左子树,否则递归遍历右子树即可。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val原创 2021-01-22 12:02:36 · 90 阅读 · 0 评论 -
2021_01_21 LeetCode刷题
661. 图片平滑器简单模拟题。四周方向的取值使用数组存放,在取值的时候需要判定该位置是否合理,如果合理,将数值进行相加同时记录数值的个数,最终的结果直接相除即可。class Solution {public: vector<vector<int>> imageSmoother(vector<vector<int>>& M) { int hang1 = M.size(), lie1 = M[0].size();原创 2021-01-21 22:24:35 · 145 阅读 · 0 评论 -
2021_01_20 LeetCode刷题
617. 合并二叉树个人认为是一道简单模拟题目吧,对于当前节点,先判定两棵树中哪棵不为空,然后合并,之后直接递归的对于左子树和右子树分别进行相应的操作即可。但是自己实现的代码一直报错,在合并过程中说是会存在空指针的情况,所以直接使用了官方的题解代码。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right;原创 2021-01-20 20:50:46 · 117 阅读 · 0 评论 -
2020_12_22 LeetCode刷题
589. N叉树的前序遍历递归回溯题。前序遍历为根节点,左子树节点,右子树节点。/*// Definition for a Node.class Node {public: int val; vector<Node*> children; Node() {} Node(int _val) { val = _val; } Node(int _val, vector<Node*> _children)原创 2020-12-22 12:12:09 · 115 阅读 · 0 评论 -
2020_12_21 LeetCode刷题
今日刷题六道,六道题目都是树类型的题目,最后一到题目在15min内实现过程中出现了一些差错,其他的题目都是在15min内完成。要准备考试了,只能在复习间隙休息的时间刷题放松,争取在考试前能够补完简单难度的题目。501. 二叉搜索树中的众数递归回溯题。没有达成最优解,使用了额外的空间,递归统计各个数,同时记录得出最多的次数,之后直接遍历哈希表将出现次数最多的数存放即可。/** * Definition for a binary tree node. * struct TreeNode { *原创 2020-12-21 16:20:24 · 95 阅读 · 0 评论 -
2020_12_20 LeetCode刷题
今日写题三道,依旧在简单难度补题,稍微回顾,都是在15min内完成。383. 赎金信普通模拟题。先对两个字符串排序,之后遍历第一个字符串,同时查找一遍第二个字符串中的字符,是否第一个字符串中的字符都存在。class Solution {public: bool canConstruct(string ransomNote, string magazine) { sort(ransomNote.begin(),ransomNote.end()); sort(ma原创 2020-12-20 18:31:12 · 108 阅读 · 0 评论 -
2020_12_19 LeetCode刷题
2020_12_19 LeetCode刷题今日刷题三道,都是二分法有关题目,以下是回顾总结。167. 两数之和 II - 输入有序数组从头开始遍历数组,之后以当前位置+1为起点,数组最后一个元素的位置为终点,进行二分查找,二分查找返回的是数组下标,为-1则答案不正确。得出答案,返回结果即可。class Solution {public: vector<int> twoSum(vector<int>& numbers, int target) {原创 2020-12-19 17:04:11 · 104 阅读 · 1 评论 -
2020_12_18 LeetCode刷题
2020_12_18 Leetcode刷题今日刷了三道LeetCode题目,简单记录。389. 找不同简单模拟题。直接对于两个字符串进行排序,之后一个个对比即可。如果在对比的过程中都正确,则是最后一个字符,进行特殊处理。class Solution {public: char findTheDifference(string s, string t) { sort(s.begin(),s.end()); sort(t.begin(),t.end()原创 2020-12-18 16:49:19 · 101 阅读 · 0 评论 -
2020_12_17 LeetCode刷题
2020_12_17 LeetCode刷题今天的三道题完成的比较顺,两道题目在15min内完成,之后一道题目在稍微调试之后也顺利完成。205. 同构字符串普通模拟题。思路和模式字符串匹配一样,先判定两个字符串的长度是否相等,之后运用映射对于映射的字符串进行存储,同时每两个字符的映射是一一对应的,不能是一对多。class Solution {public: bool isIsomorphic(string s, string t) { int len1 = s.le原创 2020-12-17 11:54:44 · 110 阅读 · 0 评论 -
2020_12_16 LeetCode刷题
2020_12_16 LeetCode刷题今天刷题三道,第一题是每日一题,之后两题是关于树,三道题目难度都是简单,目前想法按照难度顺序写,并且每道题目按照十五分钟的限制,如果超出时间没有完成,就查看题解,第二天再继续写。290_单词规律普通模拟,需要首先找出所有的单词并进行存放,之后按照模式串的形式,对单词串进行比对,查看是否符合条件。注意一点,两者的长度要相同,长度不同也算匹配失败。class Solution {public: bool wordPattern(string patte原创 2020-12-16 22:04:24 · 108 阅读 · 0 评论