首页 > 试题广场 >

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

[编程题]在行列都排好序的矩阵中找指定的数
  • 热度指数:23830 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个的整形矩阵matrix和一个整数K, matrix的每一行和每一列都是排好序的。
实现一个函数,判断K是否在matrix中
[要求]
时间复杂度为,额外空间复杂度为

输入描述:
第一行有三个整数N, M, K
接下来N行,每行M个整数为输入的矩阵


输出描述:
若K存在于矩阵中输出"Yes",否则输出"No"
示例1

输入

2 4 5
1 2 3 4
2 4 5 6

输出

Yes
示例2

输入

2 4 233
1 2 3 4
2 4 5 6

输出

No

备注:


头像 wywzxxz
发表于 2020-11-27 12:24:46
O(n),其他解法未免也太啰嗦了。 j=M-1; for (int i=0;i<n;++i) { while (j>0 && val[i][j]>K) --j; if (val[i][j]==K) {cout< 展开全文
头像 NiimiSora
发表于 2022-03-06 10:55:17
在行列都排好序的矩阵中找指定的数 时间O(M*N) 空间O(1) import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new 展开全文
头像 Shine-point
发表于 2022-04-21 16:26:48
使用较为原始的方法,通过直接创建数组后逐个输入数据,再对其进行遍历可以得到最终结果。内存占用较高,不太适合实际使用情况。 int main(void) { int N=0, M=0, K=0; int i, j, num, a = 0; scanf("%d %d %d", 展开全文
头像 gaya
发表于 2021-01-30 23:28:17
1、按题意来暴力解法 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void mai 展开全文
头像 CaptainT
发表于 2019-08-14 19:59:34
// C++ #include<iostream> #include<vector> using namespace std; int main() { int n, m, k; cin>>n>>m>>k; v 展开全文
头像 砥砺前行3
发表于 2024-10-26 16:20:07
#include <stdio.h>int main(){    int N,M,K;    int flag = 0;    scanf("%d %d %d",&N,&M,&K);    int arr[N][M];    for(int i 展开全文
头像 桃椰鲜奶冻
发表于 2021-07-24 16:08:51
这题其实是比较水的一道题,直接暴力枚举+查找即可步骤: 1.先把n,m,k这几个变量输入,k是我们要查找的那个数,接着输入一个n*m的矩阵。 2.(核心)暴力枚举,用两个for循环,第一重循环定义i从1开始,一直到n,表示从第1行一直枚举到第n行,第二重循环定义j从1开始,一直到m,表示从第1列一直 展开全文
头像 凡离
发表于 2022-02-14 23:07:58
// 语言环境 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let numbe 展开全文
头像 Coder_ZF
发表于 2019-08-13 22:48:33
题目描述给定一个N \times MN×M的整形矩阵matrix和一个整数K, matrix的每一行和每一列都是排好序的。实现一个函数,判断K是否在matrix中[要求]时间复杂度为O(N+M),额外空间复杂度为O(1)。输入描述:第一行有三个整数N, M, K接下来N行,每行M个整数为输入的矩阵输 展开全文
头像 牛客727214500号
发表于 2022-05-19 19:05:10
def start():     input1 = input().split()     N = int(input1[0])     K = input1[2]     for i in range(N): &nbs 展开全文