算法总结之 在行列都排好序的矩阵中找数

算法 (七)矩阵相关:螺旋打印矩阵、旋转正方形矩阵、之字形打印矩阵、在行列都排好序的矩阵中找数 1、螺旋打印矩阵 要求:额外空间复杂度为O(1),只用变量,原地打印 先确定左上点和右下点,先打出边框,然后向内调整点的位置,循环打印,如图所示: 完整代码如下 package cn.nupt; /** * @Description: 顺时针螺旋打印矩阵 * * @author PizAn * @date 2019年2月16日 下午10:01:39 * */ public c... 阅读详情

算法总结之 在行列都排好序的矩阵中找数

给定一个NXM的整型矩阵,和一个整数K,每一行,每一列都是排好的。判断K是否在matrix中

 

反正上下已经排列好了

 初始位置定在左上角,然后开始,比较 

      ==K  返回

     <k   往下走 row++

     >k  往左走  col--

代码实现:

 

package TT;

public class test61 {

     public boolean isContains(int[][] matrix, int k){
          
          int row 0;
          int col = matrix[0].length;
          
          while(row < matrix.length && col >-1){
               
               if(matrix[row][col]==k){
                     return true;
               }else if(matrix[row][col]>k){
                   col--;
                 
            }else {
                row ++;
            }
              
          }
     }
     
}

 

 完整代码可以这么玩儿:

public class Test6 {
    public static boolean containsTarget(int[][] arr, int target) {
        int row = 0;
        int col = arr.length-1;
        if (arr[row][col]==target){
            return  true;
        }else if (col<arr[0].length && arr[row][col]<target){
            col++;
        }else if (row>0 &&arr[row][col]>target){
            row--;
        }
        return false;
    }
    public static void main(String[] args) {
        int[][] arr = new int[3][4];
        arr[0][0] = 1;
        arr[1][0] = 2;
        arr[2][0] = 3;
        arr[0][1] = 4;
        arr[1][1] = 5;
        arr[2][1] = 6;
        arr[0][2] = 7;
        arr[1][2] = 8;
        arr[2][2] = 9;
        arr[0][3] = 10;
        arr[1][3] = 11;
        arr[2][3] = 12;
        boolean result = containsTarget(arr,7);
        System.out.println(result);
    }
}

 

 

 

 

      

posted @ 2017-09-05 09:56 toov5 阅读( ...) 评论( ...) 编辑 收藏
死磕算法-打印矩阵 转圈打印矩阵 转圈打印矩阵的基本思路就是获取矩形边框,并打印边框 public static void spiralOrderPrint(int[][] matrix) { //左边界的纵坐标 int tR = 0; //左边界的横坐标 int tC = 0; //右边界的纵坐标 int dR = matrix.length - 1; //有边界的横坐标 int ... 阅读详情

相关推荐

(七)在行列都排好序的矩阵中找指定数

【题目】给定一个指定的MxN的整型矩阵arr,和一个整数K,arr的每一行每一列都是排好序的,实现一个函数,判断K是否在矩阵arr中 【要求】时间复杂度为O(M+N),空间复杂度为O(1) 【题解】 (1)从矩阵的右上角开始寻找(row = 0,col = N-1) (2)比较当前数arr[row][col]与K的大小 如果等于K,返回true 如果大于K,说明当前数所在的列中,处于当前数下方的数均比K大,所以没有必要继续停留在第col行上,令col -= 1,重复步骤2 如果比K小,说明当前数所在行中,

蹦跶跶 916

牛客网题目:给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。 请注意,它是排序后的第k小元素,而不是第k个元素

题目:给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。 请注意,它是排序后的第k小元素,而不是第k个元素 以下属于自己调试总结,若有不同,乐意听从,借鉴 int main() { // 由于数组的定义时的下表不能为变量,所以牛客网中,若要求必须要求输入下表时,可用scanf输入, //也可直接在定义数组时,赋予初始常量值,系统会自动进行替换鉴别 //但其它地方要用到下表值,可在定义变量并给初始化值,也可手动直接给值,例如这道题 int n=5,i,j,k,temp; sc

weixin_45479045的博客 3241

linear algebra behind google's pagerank

introduction to google pagerank

在行和列都排好序的矩阵中找数

在行列都排好序的矩阵中找数 题目: 给定一个有N*M的整形矩阵matrix和一个整数K,matrix的每一行和每一列都是排好序的。实现一个函数,判读K是否在matrix中。 要求:时间复杂度为O(N+M),空间复杂度为O(1)。 思路如下: 从数组的第一行最后一个元素开始遍历,若该元素比K大,说明该列下方元素均比K大,所以不用判断下方的元素,向前移一位继续进行比较,若元素等于K,则返回,若元素小于...

amor_1的博客 450

IEC103协议实战指南:报文解析与传输优化策略

本文深入解析IEC103协议在电力自动化系统中的核心应用,重点拆解其固定帧与可变帧两种报文格式,并详细阐述了主从问答与非平衡传输机制。文章结合实战经验,针对报文解析中的常见问题(如字节序、超时重发)提供了解决方案,并探讨了传输层优化策略,旨在帮助工程师实现更可靠、高效的通信链路。

r2s3t4的博客 542

【亲测可用!】阿里达摩院开源实时数字人对话VideoChat本地部署教程(8G显存可跑)

本文主要记录在部署阿里达摩院开源实时数字人对话VideoChat时遇到的问题,希望对各位技术开发或爱好者有所帮助!

波点兔的博客 3902

算法-在行列都排好序的矩阵中找数

题目 给定一个有N*M的整型矩阵matrix和一个整数K, matrix的每一行和每一列都是排好序的。实现一个函数,判断K 是否在matrix中。要求时间复杂度为O(N+M),额外空间复杂度为O(1)。 例:0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果K为7,返回true;如果K为6,返 回false。 代码 /** * 查找 * ...

老头儿ii的博客 307

蓝桥杯算法:打印图形——六芒星

【输入格式】 输入一行包含一个整数 n。 【输出格式】 输出一个六芒星,表示满足题意的图形。 【样例输入】 3 4 【样例输出】 【评测用例规模与约定】 对于所有评测用例,1 ≤ n ≤ 20。 总结: 第一次做图形题,做了蛮久,图形题有很多的方式去完成,它考验的是你能不能找到更简单的那一种方式. 我初看到这个图形,第一种想法是把这个六芒星当做六个小三角形来做,然后以某种规则排列一下,就能做出来,但是尝试了一下感觉太麻烦了。 然后我的第二种想法是,这个图形是对称图形,怎么能写出一半吗? 这样另一半想办

KeepCodeing 3843

在行列都排好序的矩阵中找数

题目】 给定一个有N*M的整型矩阵matrix和一个整数K, matrix的每一行和每一 列都是排好序的。实现一个函数,判断K 是否在matrix中。 例如: 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果K为7, 返回true; 如果K为6,返 回false。 要求】 时间复杂度为O(N+M),额外空间复杂度为O(1) 思路: 1、从右上角的数开始寻找(row=0 c...

BUPT-WT的博客 267

大型我的世界RPG服务器开服全攻略:从环境配置到插件部署

搭建一个能支撑百人稳定在线的我的世界服务器,远不止选择服务端和安装插件那么简单。服务器架设涉及硬件选型、Java环境、端口放行、启动脚本与systemd守护等基础环节,而大型RPG玩法还依赖MythicMobs、Quests、LuckPerms等插件协同工作。理解这些技术组件的原理与配置逻辑,是确保长线运营的关键。对于希望打造原创剧情、职业副本和自定义Boss的团队而言,合理规划MySQL数据库、RCON批量管理及性能调优,能显著降低后期维护成本。本文围绕RPG服务器核心能力,从环境准备到插件部署,再到常见

weixin_27230891的博客 370

cadence数模混合仿真反标sdf

数模混合IC设计时经常要调用一些Verilog模块(最简单的例如SPI接口),在前仿时一般直接用rtl代码来仿真,但是后仿时要关注因寄生带来的延迟,避免这些额外的延迟导致时序错误,因此不能简单地采用RTL来仿真。 一般有两种办法:1是采用由RTL综合得到的门级电路来仿真,这种方法比较简单,但是缺点是规模较大,而且只包括门延迟不包括因版图导致的线延迟;如果想要仿真更精细,就要对该这部分门电路提取寄生参数; 另一种方式是利用sdf文件(standard delay format)来进行仿真。后端工具在布局布

长河柱天的博客 7275

C++在行列都排好序的矩阵中找数

1. 题目描述 给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一 列都是排好序的。实现一个函数,判断K是否在matrix中。 例如: 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果K为7,返回true;如果K为6,返回false。时间复杂度为O(N+M),额外空间复杂度为O(1)。 2. 问题分析 因为这里是行列都排好序了,所以我们不需要整...

暮日落流年的博客 1171

IMU660RA姿态解算实战:从传感器滤波到欧拉角输出的完整实现

本文详细介绍了IMU660RA姿态解算的完整实现过程,从传感器滤波到欧拉角输出。通过实战案例和代码示例,展示了如何有效处理陀螺仪和加速度计的噪声问题,并选择合适的算法进行数据融合和姿态解算。特别强调了欧拉角输出中的坐标系对齐和动态补偿技巧,帮助工程师快速掌握IMU660RA的应用。

weixin_42524762的博客 388

算法学习14-在行列都排好序的矩阵中找数&&打印两个链表的公共部分

算法学习14-在行列都排好序的矩阵中找数&&打印两个链表的公共部分 在行列都排好序的矩阵中找数 【题目】 给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一 列都是排好序的。实现一个函数,判断K是否在matrix中。 例如: 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果K为7,返回true;如果K为6,返回false。 【要求】...

qq_45205390的博客 219

【绝对要收藏-优秀论文范文】高项-度量绩效域

摘要:本文基于某水库数字孪生平台建设项目(2022.9-2023.5,645.97万元)的管理实践,从信息系统度量绩效域角度展开论述。项目构建了包含防洪调度等6大子系统的数字平台,实现洪水"四预"功能。重点分析了度量绩效域的五大要点:制定有效指标(如成本±8%偏差阈值)、多维数据采集、预警临界值设定、基于趋势的主动干预和持续改进机制。特别阐述了绩效问题的诊断方法,包括设备采购全周期成本分析、阶段性成本报告制度等。项目状态展示采用三维可视化看板,集成进度、成本、质量等多维度实时数据,最终实

xylllamm的博客 349

某智能物流无人值守系统 ExportReport SQL注入漏洞复现

某智能物流无人值守系统 ExportReport存在SQL注入漏洞,未经身份验证的远程攻击者除了可以利用 SQL 注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至在高权限的情况可向服务器中写入木马,进一步获取服务器系统权限。

0xSec 820

每日算法:矩阵篇(在行列都排好序的矩阵中找数、“之”字形打印矩阵、旋转正方形矩阵、转圈打印矩阵)

1、转圈打印矩阵 【题目】 给定一个整型矩阵matrix,请按照转圈的方式打印它。 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16 打印结果为:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11, 10, 【要求】 额外空间复杂度为O(1) 思路:我们定义两个点,一个是左上角a[a][b],一个是右下角a[c][d]。坐标就是(a,b)、(c,d)。我们可以打印最外层的数,依次然后a、b都加1,c、d减一,进入内圈。 1 2 ...

Zystem 600

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

算法练习day9——190327(“之” 字形打印矩阵、在行列都排好序的矩阵中找数、打印两个有序链表的公共部分、判断一个链表是否为回文结构)

1.“之” 字形打印矩阵 【题目】 给定一个矩阵matrix, 按照“之” 字形的方式打印这个矩阵, 例如: 1 2 3 4 5 6 7 8 9 10 11 12“之” 字形打印的结果为: 1, 2, 5, 9, 6, 3, 4, 7, 10, 11, 8, 12 【要求】 额外空间复杂度为O(1)。 1.1 分析 1.设置两个点A,B,起始位置如图: A每次向右走,走到最右边的时候...

Zhxin606a的博客 391

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

在行和列都排好的矩阵中找数

给定一个N*M的整数型矩阵matrix和一个整数K,matrix的每一行和每一列都是排好顺序的。实现一个函数,判断K是否在matrix中,例如0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9,如果K为7,返回true;如果K为6,则返回false package com.cisco.www.class_04;/** * 在行和列都排好序的矩阵...

aikunjiao3421的博客 236

数组与矩阵:在行和列都排好序的矩阵中找数

//★题目:在行和列都排好序的矩阵中找数 //要求:给定一个有N×M的整型矩阵matrix和一个整数K,matrix的每一行每一列都是排好序的。 // 实现一个函数,判断K是否在matrix中。要求时间复杂度为O(N+M),空间复杂度为O(1) // 例如:0 1 2 5 // 2 3 4 7 // 4 4...

懂代码的暖男 252

第十题:在行和列都排好序的数组中找数

题目要求: 在行和列都排好序的N* M的矩阵Matrix中找数K,也即 判断 K 是否在矩阵Matrix 中例如 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果k 为 7 ,返回true, k 为 6 则返回 false,要求时间复杂度为O(M + N)额外空间复杂度为O(1) ...

isea_you's blog 318

七.在行列都排好序的矩阵中找数

【题目】 给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一 列都是排好序的。实现一个函数,判断K是否在matrix中。 例如: 如果K为8,返回true;如果K为6,返回false。 【要求】 时间复杂度为O(N+M),额外空间复杂度为O(1)。 【分析】 【代码】 //1.测试 public static void main(String[] args) { ...

qq_33604222的博客 233
上一篇: 算法总结之 在数组中找到出现次数 > N/K的数
下一篇: 算法总结之 最长的可整合子数组长度
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值