LeetCode热题100刷题16:74. 搜索二维矩阵、33. 搜索旋转排序数组、153. 寻找旋转排序数组中的最小值、98. 验证二叉搜索树
创始人
2025-01-09 14:05:30
0

74. 搜索二维矩阵

class Solution { public:     bool searchMatrix(vector>& matrix, int target) {         int row = matrix.size();         int col = matrix[0].size();          for(int i=0;i             //先排除一下不存在的情况             if(i>0&&matrix[i][0]>target && matrix[i-1][col-1]=target) {                 int begin=0,end=col-1;                 while(begin<=end) {                     int mid = begin + (end-begin)/2;                     if(matrix[i][mid] > target) {                         end = mid-1;                     }                     else if(matrix[i][mid] < target) {                         begin = mid+1;                     }                     if(matrix[i][mid]==target)                         return true;                 }             }         }         return false;     } }; 

33. 搜索旋转排序数组

二分法,稍微区分了一下左侧有序还是右侧有序
在这里插入图片描述

class Solution { public:     int search(vector& nums, int target) {         if(nums.size()==0)             return -1;         if(nums.size()==1)             return nums[0]==target?0:-1;         int left = 0, right = nums.size()-1;          while(left<=right) {             int mid = left+(right-left)/2;             if(nums[mid]==target)                 return mid;             else if(nums[0] <= nums[mid]) {                 if(nums[0] <=target && target < nums[mid])                     right = mid-1;                 else                      left = mid+1;             }             else {                 if(nums[mid] 

153. 寻找旋转排序数组中的最小值

在这里插入图片描述

class Solution { public:     int findMin(vector& nums) {         if(nums.size()==1)             return nums[0];         int n = nums.size()-1;         int left = -1,right = n;         int res = nums[0];         if(nums[0] < nums[n])             return res;         while(left+1             int mid = left+(right-left)/2;             if(nums[mid] < nums.back())                 right = mid;             else                 left = mid;         }         return nums[right];     } }; 

98. 验证二叉搜索树

通过中序遍历,得到有序的数组,在判断数组是否严格递增

/**  * Definition for a binary tree node.  * struct TreeNode {  *     int val;  *     TreeNode *left;  *     TreeNode *right;  *     TreeNode() : val(0), left(nullptr), right(nullptr) {}  *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}  *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}  * };  */ class Solution { public:     void traversal(TreeNode* root,vector& res) {         if(root==NULL)             return;         if(root->left)             traversal(root->left,res);         res.push_back(root->val);         if(root->right)             traversal(root->right,res);     }     bool isValidBST(TreeNode* root) {         if(!root)             return true;         vector res;         traversal(root,res);         for(int i=1;i             if(res[i] <= res[i-1])                 return false;         }         return true;     } }; 

118. 杨辉三角

res即dp数组,寻找res[i][j]的更新规律

class Solution { public:     vector> generate(int numRows) {         vector> res(numRows);         for(int i=0;i             res[i].resize(i+1);             res[i][0] = res[i][i] = 1;             for(int j=1;j                 res[i][j] = res[i-1][j]+res[i-1][j-1];             }         }         return res;     } };  

相关内容

热门资讯

第五分钟了解!新青鸟必胜(辅助... 第五分钟了解!新青鸟必胜(辅助)决胜山西麻将开挂辅助工具-总是存在有修改器1、超多福利:超高返利,海...
第十分钟了解!朱雀开心罗松开挂... 第十分钟了解!朱雀开心罗松开挂(辅助)大神棋牌开挂辅助软件-总是是有修改器1、每一步都需要思考,不同...
第一分钟了解!天天微友开控制多... 第一分钟了解!天天微友开控制多少钱(辅助)米乐开挂辅助安装-都是是真的工具1、进入游戏-大厅左侧-新...
3分钟了解!天天卡五星辅助(辅... 3分钟了解!天天卡五星辅助(辅助)掌中乐开挂辅助软件-都是是真的软件1、全新机制【天天卡五星辅助ai...
第7分钟了解!宝宝临海辅助器(... 第7分钟了解!宝宝临海辅助器(辅助)爱玩联盟开挂辅助平台-果然真的是有辅助宝宝临海辅助器辅助器是一种...
8分钟了解!陕麻圈透视科技工具... 8分钟了解!陕麻圈透视科技工具(辅助)新青鸟开挂辅助辅助器-其实有挂工具1、完成陕麻圈透视科技工具有...
第一分钟了解!闲来贵州黑科技辅... 第一分钟了解!闲来贵州黑科技辅助软件(辅助)中至景德镇麻将开挂辅助平台-其实是真的脚本1、金币登录送...
第七分钟了解!贪吃蛇辅助器20... 第七分钟了解!贪吃蛇辅助器2022(辅助)温州茶苑开挂辅助下载-果然真的是有下载1、用户打开应用后不...
一分钟了解!广西八一字牌辅助(... 一分钟了解!广西八一字牌辅助(辅助)叮叮娱乐开挂辅助工具-总是真的有app1、让任何用户在无需广西八...
第十分钟了解!福建13水源码(... 第十分钟了解!福建13水源码(辅助)么么棋牌开挂辅助安装-一直真的是有软件1、金币登录送、破产送、升...