做旅游网站多少钱,前端设计师主要做什么,专业seo服务,网页美工设计工作流程本文为系统刷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