c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:
每行中的整数从左到右按升序排列。
每行的第一个整数大于前一行的最后一个整数。
示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true
示例 2:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false
提示:m == matrix.length
n == matrix[i].length
1 <= m, n <= 100
-104 <= matrix[i][j], target <= 104
javascript 暴力解法/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var searchMatrix = function(matrix, target) {
for(let i=0;i
for(let j=0;j
if(matrix[i][j]===target){
return true
}
}
}
return false
};
javascript 数组查找/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
/*
以二维数组左下角为原点,建立直角坐标轴。
若当前数字大于了查找数,查找往上移一位。
若当前数字小于了查找数,查找往右移一位。
*/
var searchMatrix = function(matrix, target) {
let x = matrix.length-1,y = 0
while(x>=0 && y
if(matrix[x][y]===target){
return true
}else if(matrix[x][y]>target){
x--
}else{
y++
}
}
return false
};
javascript 二分法/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var searchMatrix = function(matrix, target) {
let m = matrix.length,n=matrix[0].length
let low = 0,high = m*n-1
while(low<=high){
let mid = Math.floor((high-low)/2)+low //中位
let x = matrix[Math.floor(mid/n)][mid%n] //所在的值
if(x
low = mid+1
}else if(x>target){
high = mid-1
}else{
return true
}
}
return false
};
Typescript 以上两种也可以改为tsfunction searchMatrix(matrix: number[][], target: number): boolean {
let x: number = matrix.length - 1, y:number = 0
while (x >= 0 && y < matrix[0].length) {
if (matrix[x][y] === target) {
return true
} else if (matrix[x][y] > target) {
x--
} else {
y++
}
}
return false
};
python 暴力解法class Solution(object):
def searchMatrix(self, matrix, target):
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j]==target:
return True
return False
python any函数
any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。元素除了是 0、空、FALSE 外都算 TRUE。
语法def any(iterable):
for element in iterable:
if element:
return True
return False
解法class Solution(object):
def searchMatrix(self, matrix, target):
return any(target in row for row in matrix)
Go 数组查找func searchMatrix(matrix [][]int, target int) bool {
m := len(matrix)
n := len(matrix[0])
var i = 0
for i < m && n > 0 {
if target == matrix[i][n-1] {
return true
} else if target < matrix[i][n-1] {
n--
} else {
i++
}
}
return false
}
第一次尝试用4种语言去解一道题目,继续加油!
c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...相关推荐
- 【C 语言】二级指针作为输入 ( 二维数组 | 抽象业务函数 | 二维数组打印函数 | 二维数组排序函数 )
文章目录 一.抽象 二维数组 业务函数 1.二维数组 打印函数 2.二维数组 排序函数 二.完整代码示例 一.抽象 二维数组 业务函数 1.二维数组 打印函数 注意 , 二维数组 作为 函数参数 输入 ...
- c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵
//二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...
- C 二维数组,以及自定义二维数组
C 二维数组,以及自定义二维数组 我们通常情况下是这样定义一个二维数组的: int a[10][15]; 我们分别查看一下a,a[0],*a 都是一样的值吧 我们可以这么理解: a是一个数组的数组 a ...
- java二维数组的创建,java二维数组创建方法
java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法 二维数组的定义 type arrayName[ ][ ]; typ ...
- java 二维数组位置_java 找到二维数组指定元素的位置
这个是代码编译时没有问题运行出错.主要功能是首先将txt格式文本导入二维数组,然后在二维数组中查找指定元素的行号和列号.运行结果出错显示为:importjava.util.*;importjava.i ...
- a和a的区别、二维数组的本质及多维数组
1 a和&a的区别 int a[10] = {1,2};//其他初始化为0 a代表数组首元素的地址,不是整个数组的地址 &a表示整个数组的地址 &a,a代表的数据类型不一样 & ...
- python:实现9×9二维数组数独算法(附完整源码)
python:实现9×9二维数组数独算法 from __future__ import annotationsMatrix = list[list[int]]# assigning initial v ...
- Java二维数组详解:二维数组的声明和初始化,以及获取二维数组的值
为了方便组织各种信息,计算机常将信息以表的形式进行组织,然后再以行和列的形式呈现出来.二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列.下面 ...
- 利用二维数组(double[])实现一个矩阵类:Matrix。要求提供以下方法:(1)set(int row, int col, double value):将第row行第col列的元素赋值为valu
利用二维数组(double[])实现一个矩阵类:Matrix.要求提供以下方法:(1)set(int row, int col, double value):将第row行第col列的元素赋值为valu ...
- python一维数组和二维数组,Python numpy实现二维数组和一维数组拼接的方法
撰写时间:2017.5.23 一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二 ...
最新文章
- 网络推广计划浅析外链发布要遵循的几点小技巧!
- oracle返回表id,在Oracle的函数中,返回表类型的语句
- 【opencv系列04】OpenCV4.X图形绘制
- JVM参数-XX:+HeapDumpOnOutOfMemoryError
- how is __metadata.media_src generated in backend
- Get和Post请求和对应的参数获取
- 从一个表查询数据插入另一个表
- 【非原创】codeforces 1070C Cloud Computing 【线段树树状数组】
- matlab 颜色对照表
- 音视频学习(五)——H.264视频码流
- 【老生谈算法】matlab实现自适应滤波器源码——自适应滤波器
- 香港服务器的数据泄露是什么?怎样预防?
- 计算机专业夏令营英语面试范文,夏令营英语面试自我介绍
- 坚果pro2s android 8,坚果Pro2s和iPhone8手机对比实用评测
- FBEC2020大会圆满闭幕!区块链分会场人气爆棚!
- Matplotlib:面积图、填图、饼图
- SMS发送WapPush
- 贴现、贴现率、贴现值、现值、折现值、PV搞搞清楚
- 2019年3月计算机二级考试题库百度云,2019年3月计算机等级考试题库-二级MS Office试题...
- 各种药皂的使用和主注意事项