力扣1911、最大子序列交替和
摘要:

1、动态规划(128ms,89%;89MB,47%) 时间复杂度:O(n):n为数组元素个数 空间复杂度:O(1) 1 class Solution { 2 public: 3 long theMax(long a,long b,long c){ 4 return a>b? (a>c? a:c):(
阅读全文
力扣53、最大子数组和
摘要:

1、双循环(超时) 时间复杂度:O(n^2):n为数组元素个数 空间复杂度:O(1) 1 int maxSubArray(vector<int>& nums) { 2 int maxnum=nums[0]; 3 int sum=0; 4 for(int i=0;i<nums.size();i++){
阅读全文
力扣1901、找出顶峰元素Ⅱ
摘要:

1、二分法(124ms,95%;45.2MB,24%) 时间复杂度:O(nlog m):m、n分别是矩阵的行数、列数 空间复杂度:O(1) 1 //max_element(r,r+6)返回数组前6个元素中的最大值的地址 2 //取值则为*max_element(r,r+6) 3 //int(返回的地
阅读全文
力扣240、搜索二维矩阵Ⅱ
摘要:

1、直接循环(超出时间限制) 时间复杂度:O(mn):m、n分别为矩阵的行数、列数,mn即为矩阵元素个数 空间复杂度:O(1) bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.empty()) return
阅读全文
力扣74、搜索二维矩阵
摘要:

1、直接循环(4ms,76%;9.3MB,31%) 时间复杂度:O(n):最坏情况要遍历整个数组 空间复杂度:O(1) bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.empty()) return fal
阅读全文
力扣81、搜索旋转排序数组Ⅱ
摘要:

1、直接循环(4ms,90%;13.5MB,85%) 时间复杂度:O(n):循环次数 空间复杂度:O(1) 1 bool search(vector<int>& nums, int target) { 2 if(nums.empty()) 3 return false; 4 int n=0; 5 w
阅读全文
力扣33、搜索旋转排序数组
摘要:

1、二分法(4ms,69%;10.8MB,70%) 时间复杂度:O(log n) 空间复杂度:O(1) 1 int search(vector<int>& nums, int target) { 2 //这里的empty()注意是空则返回真 3 if(nums.empty()) 4 return -
阅读全文
力扣50、Pow(x,n)
摘要:

1、直接循环求(超时) 1 double myPow(double x, int n) { 2 if(n==0||x==1) 3 return 1; 4 double temp=x; 5 if(n<0){ 6 x=1/x; 7 temp=x; 8 n*=-1; 9 } 10 while(--n>0)
阅读全文