自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置

难度:中等。方法一使用二分查找target,找到后,并在数组中连续查找值为target的索引范围,这样复杂度其不符合题目要求的。解法:class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { int n = nums.size(); vector<int> result; if(n == 0){

2021-02-28 15:13:01 78

原创 LeetCode 896. 单调数列

难度:简单。正确解法:class Solution {public: bool isMonotonic(vector<int>& A) { int n = A.size(); int flag = 0; for(int i = 1; i < n; i++){ if(A[i] > A[i - 1]){ if(flag == 0)flag = 1;

2021-02-28 12:55:37 29

原创 LeetCode 978. 最长湍流子数组

难度:中等。开始没有在循环结束后判断resresres与right−left+1right - left + 1right−left+1的关系,导致下面用例的结果错误:在训练结束后再更新resresres就好了。class Solution {public: int maxTurbulenceSize(vector<int>& arr) { int n = arr.size(); if(n == 1)return n; i

2021-02-08 15:10:57 66

原创 LeetCode 665. 非递减数列

难度:简单。虽然是简单,但是这个题很容易错啊,要想清楚各种情况。错误结果的用例:可参考题解 https://leetcode-cn.com/problems/non-decreasing-array/solution/3-zhang-dong-tu-bang-zhu-ni-li-jie-zhe-d-06gi/正确解法:class Solution {public: bool checkPossibility(vector<int>& nums) {

2021-02-07 10:54:54 46

原创 LeetCode 1423.可获得的最大点数

难度:中等。将这个问题转换为查找n-k个数字,使得剩余数字之和最大。这样需要维持n-k大小的滑动窗口。超时代码:class Solution {public: int maxScore(vector<int>& cardPoints, int k) { int n = cardPoints.size(); int win = n - k; int left = 0, right = n - k - 1; in

2021-02-06 20:58:59 88

原创 LeetCode 1208. 尽可能使字符串相等

难度:中等。正确解法:class Solution {public: int equalSubstring(string s, string t, int maxCost) { int n = s.length(); if(s == t)return n; int left = 0, right = 0; int cost = 0; while(right < n){ int temp

2021-02-05 15:44:14 64

原创 LeetCode 643. 子数组最大平均数 I

难度:简单。正确解法:class Solution {public: double findMaxAverage(vector<int>& nums, int k) { int n = nums.size(); if(n == 1)return nums[0]; double average = 0, ans = 0; for(int i = 0; i < k; i++){ ave

2021-02-04 13:22:05 43

原创 LeetCode 480. 滑动窗口中位数

难度:困难。感觉没有昨天的难呀。这个有点思路。用一个大小为k的数组有序的存储每个窗口的数,每次窗口移动更新一次。使用二分法删除和插入数字。正确解法:class Solution { void update_vector(vector<int>& nums, int del_num, int add_num){ int n = nums.size(); int left = 0, right = n - 1, mid = 0;

2021-02-03 22:02:03 105

原创 LeetCode 424. 替换后的最长重复字符

难度:中等。我仿佛没有脑子。参考:https://leetcode-cn.com/problems/longest-repeating-character-replacement/solution/tong-guo-ci-ti-liao-jie-yi-xia-shi-yao-shi-hua-don/https://leetcode-cn.com/problems/longest-repeating-character-replacement/solution/ti-huan-hou-de-zui-

2021-02-02 22:13:26 75

原创 LeetCode 33. 搜索旋转排序数组

难度:中等。方法一先找到再哪里旋转,将数组分为两部分有序数组后进行查找,使用二分法。要注意边界条件,有一种情况输入是[1,2,3]正确解法:class Solution { int binary_search(vector<int>& nums, int left, int right, int target){ while(left <= right){ int mid = (left + right)

2021-02-01 22:06:52 48

原创 LeetCode 31. 下一个排列

难度:中等。这个题感觉没啥意义,就是找规律,不熟悉全排列就没法做。知道规律了很好实现,感觉没什么意思。参考:https://leetcode-cn.com/problems/next-permutation/solution/xia-yi-ge-pai-lie-by-leetcode-solution/正确解法:class Solution {public: void nextPermutation(vector<int>& nums) { int n

2021-02-01 18:10:21 59

原创 LeetCode 888. 公平的糖果棒交换

难度:简单。先计算两人的糖果总量,再进行排序,使用双指针的方法求出答案。正确解法:class Solution {public: vector<int> fairCandySwap(vector<int>& A, vector<int>& B) { int n = A.size(), m = B.size(); vector<int> ans; if((n == 1 &&a

2021-02-01 12:02:29 45

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除