深圳商务网站建设,网络推广公司官网,小的电商网站,阿里云 wordpress插件本文为系统刷leetcode的记录#xff0c;会记录自己根据代码随想录刷过的leetcode#xff0c;方便直接点开刷题#xff0c;时常更新 时间复杂度简记为s 空间复杂度简记为k 
数组 
704 二分查找 一维二分查找 #xff08;1#xff09;[left, right] 
class Solution {
publi…本文为系统刷leetcode的记录会记录自己根据代码随想录刷过的leetcode方便直接点开刷题时常更新 时间复杂度简记为s 空间复杂度简记为k 
数组 
704 二分查找 一维二分查找 1[left, right] 
class Solution {
public:int search(vectorint nums, int target) {int left  0;int right  nums.size() - 1;while (left  right) {int mid  (left  right) / 2;if (nums[mid]  target) {right  mid - 1;} else if (nums[mid]  target) {left  mid  1;} else {return mid;}}return -1;}
};s: O ( l o g n ) O(logn) O(logn) k: O ( 1 ) O(1) O(1) 2[left, right) 
class Solution {
public:int search(vectorint nums, int target) {int left  0;int right  nums.size();while (left  right) {int mid  (left  right) / 2;if (nums[mid]  target) {right  mid;} else if (nums[mid]  target) {left  mid  1;} else return mid;}return -1;}
};s: O ( l o g n ) O(logn) O(logn) k: O ( 1 ) O(1) O(1) 二维二分查找74. 搜索二维矩阵 
class Solution {
public:bool searchMatrix(vectorvectorint matrix, int target) {int m  matrix.size();int n  matrix[0].size();int low  0;int high  m * n - 1;while (low  high) {int mid  (low  high) / 2;int num  matrix[mid / n][mid % n]; // 第一个是确定第几行第二个是确定第几列相当于把matrix降维成一维比如要找一个4*4数组的第13个元素13/4  3为第四行行索引是0开始13%41即第四行第一个if (num  target) {low  mid  1;} else if (num  target) {high  mid - 1;} else return true;}return false;}
};27. 移除元素 
class Solution {
public:int removeElement(vectorint nums, int val) {int slow  0;for (int fast  0; fast  nums.size(); fast) {if (nums[fast] ! val) {nums[slow]  nums[fast];}}return slow;}
};s O ( n ) O(n) O(n) k O ( 1 ) O(1) O(1) 
977. 有序数组的平方 
class Solution {
public:vectorint sortedSquares(vectorint nums) {int k  nums.size() - 1;vectorint result(nums.size(), 0);for (int i  0, j  nums.size() - 1; i  j;) {if (nums[i] * nums[i]  nums[j] * nums[j]) {result[k--]  nums[i] * nums[i];i;} else {result[k--]  nums[j] * nums[j];j--;}}return result;}
};s O ( n ) O(n) O(n) k O ( n ) O(n) O(n) 209. 长度最小的子数组 
59. 螺旋矩阵 II