首页 > 其他分享 >74. Search a 2D Matrix

74. Search a 2D Matrix

时间:2023-01-11 12:00:13浏览次数:51  
标签:index Search return matrix int mid 2D 74 row


按题目的意思是有效率的算法,我放下了我暴力ac的冲动。。别人的思路很好,首先遍历二维数组每行的开头,找到比target小的最大行,然后对哪一行进行二分查找,在写代码时请尤其注意下标越界的问题

class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int n=matrix.size();
if(!n)return false;
int m=matrix[0].size();
if(!m)return false;
int row_index=0;

while(row_index+1<n&&matrix[row_index+1][0]<=target)++row_index;
int i=0;
int j=m-1;
while(i<=j){
int mid=(i+j)/2;
if(matrix[row_index][mid]==target)return true;
else if(matrix[row_index][mid]<target)i=mid+1;
else j=mid-1;
}
return false;
}
};


标签:index,Search,return,matrix,int,mid,2D,74,row
From: https://blog.51cto.com/u_14035071/6001916

相关文章

  • 远程控制网关S274支持4路继电器
    采用GSM/GPRS/3G/4G网络通信,不受距离限制,任何地方都可使用;宽工作电压设计,支持9~36VDC供电,且带有防反接保护设计;采用本地配置软件、远程短信、APP设置参数,方便操作,简......
  • Proj. CRR Paper Reading: Monte Carlo Tree Search: a review of recent modifcation
    1.IntroMonteCarloTreeSearch(MCTS)isadecision-makingalgorithmthatconsistsinsearchingcombinatorialspacesrepresentedbytrees.Insuchtrees,nod......
  • Java课程设计之——Elasticsearch篇
    0、团队项目博客1、主要使用的技术及开发工具Elasticsearch7.17.3RESTAPIElasticsearchjavaAPIClient7.17.3Kibana7.17.3Jackson2.12.32、Elasticsearch......
  • CentOS7部署elasticsearch8.5
    CentOS7部署elasticsearch8.5 elk与jdk依赖关系 https://www.elastic.co/cn/support/matrix  1.下载安装包[root@localhost~]#wgethttps://artifacts.elasti......
  • docker安装elasticsearch
    启动elasticsearch下载Elasticsearch7.17.5的docker镜像:dockerpullelasticsearch:7.17.5修改虚拟内存区域大小,否则会因为过小而无法启动:sysctl-wvm.max_map_......
  • docker启动elasticsearch和kibana
    首先执行通过docker将以下镜像进行拉取:dockerpullelasticsearch:7.4.2用于存储和检索数据(版本可以自定义,两者版本需要统一)dockerpullkibana:7.4.2用于可视化检索数......
  • Elasticsearch 入门:logstash 5.0.0 安装及输出数据到 elasticsearch
    首先安装:elasticsearch、 kibana,以下测试会用到。安装参考:​​Elasticsearch入门:CentOS5.6安装Elasticsearch5.0​​​​Elasticsearch入门:Elasticsearch5.0安装......
  • CTC的训练与推理之Greedy Decoder, Beam Search,CTC Loss, RNNT Loss
    模型流程:t时刻输入x(t),t-1时刻输出y`(t-1),t时刻的输出y`(t)为:由x(t)和y`(t-1)作为输入得到的预测值训练:采用TeacherForcing的策略,在t时刻,并不是使用上一时刻的预测值y`(......
  • ElasticSearch的基本使用
    1、ElasticSearch基本介绍TheElasticStack,包括Elasticsearch、Kibana、Beats和Logstash(也称为ELKStack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地......
  • client intended to send too large body: 2274148 bytes
    clientintendedtosendtoolargebody:2274148bytes 问题现象前端上传图片失败,nginx错误日志文件(/var/log/nginx/error.log)中的报错信息为:“clientintendedto......