golang 算法题 : 二维数组搜索值
package main
import "fmt"
func main() {
matrix := [][]int{
{1, 4, 7, 11, 15},
{2, 5, 8, 12, 19},
{3, 6, 9, 16, 22},
{10, 13, 14, 17, 24},
{18, 21, 23, 26, 30},
}
exist := searchMatrix(matrix, 5)
fmt.Println("exit", exist)
}
func searchMatrix(matrix [][]int, target int) bool {
if matrix == nil || len(matrix) == 0 || len(matrix[0]) == 0 {
return false
}
row := 0
col := len(matrix[0]) - 1
for col >= 0 && row <= len(matrix)-1 {
if matrix[row][col] == target {
return true
} else if matrix[row][col] > target {
col--
} else if matrix[row][col] < target {
row++
}
}
return false
}
golang 算法题 : 二维数组搜索值的更多相关文章
- 《剑指Offer》算法题——二维数组查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. class Solutio ...
- 抓取二维数组某值出来,到一维数组---array_column
/*** * '抓取二维数组某值出来,到一维数组' * @param $arr * @param $item * @return array */ function get_arr_item_val( ...
- 递归分治算法之二维数组二分查找(Java版本)
[java] /** * 递归分治算法学习之二维二分查找 * @author Sking 问题描述: 存在一个二维数组T[m][n],每一行元素从左到右递增, 每一列元素从上到下递增,现在需要查找元素 ...
- 【2048小游戏】——原生js爬坑之遍历算法显示二维数组内容
引言:做2048小游戏会将横纵方向的数字内容,存储在一个二维数组中,要将这个二维数组中的内容显示在页面上,就一定要用遍历算法来实现了. 一.二维数组存储 首先考虑用二维数组存储所有行数,列数 ...
- php 二维数组根据值进行排序
// 先获取要排序的值 $createTime = array_column($data, 'create_time'); // 排序成功 array_multisort($createTime, S ...
- PHP二维数组搜索返回数组
$ar = array( 2 => array( 'catid' => 2, 'catdir' => 'notice', ), 5 => array( 'catid' => ...
- php二维数组搜索
$ar = array( 2 => array( 'catid' => 2, 'catdir' => 'notice', ), ...
- php 二维数组相同值 相加
array(3) { [0]=> array(2) { ["sourcesid"]=> int(1) ["addusernum"]=> str ...
- 二维数组去除重复值和array_unique函数
今天遇到了一个问题,就是从数据库中去除的数组为一个二维数组,现在就是想将二位数组进行去重,但是在php中,对于一个一维数组,我们可以直接使用php的系统函数array_unique,但是这个函数不能对 ...
随机推荐
- SpringMVC(4):文件上传与下载
一,文件上传 文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理 ...
- java通过反射获取Java对象属性值
说明: 作为反射工具类,通过对象和属性的名字获取对象属性的值,如果在当前对象属性没有找到,依次向上收集所有父类的属 性,直到找到属性值,没有找到返回null: 代码: 1.classUtil pack ...
- maven管理本地jar包
maven作为包管理工具,好处不必多说.但是有些情况,比如需要引入第三方包,如快递鸟,支付宝,微信等jar包(当然有可能直接提供maven依赖),如果直接下载到本地之后,怎么整合到自己的maven工程 ...
- 最基础前端路由实现,事件popstate使用
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 使用MyBatis框架时发现的一些小bug
在大配置MyBatis.xml中: 不能有空节点属性 ,否则启动服务器后点击登录没有反应. 异常问题: ause: java.sql.SQLException: Value '0000-00-00 ...
- MySQL如何使用coalesce函数
coalesce(a,b,c); 参数说明:如果a==null,则选择b:如果b==null,则选择c:如果a!=null,则选择a:如果a b c 都为null ,则返回为null(没意义)
- 设置项目的日程排定方式(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 [项目]>[属性]>[项目信息]>[日程排定方法]>选取: 默认项是[项目开始日期]. 这两位是干 ...
- sublime打开中文文件乱码以及打开文件出现.dump
一.中文乱码 原因:中文文件由gbk编码,刚安装的sublime不支持转码 解决方法:调用ctrl+shift+p,输入:install package,回车,在稍后弹出的安装包框中搜索:Conver ...
- THUSC 2021 游记
想了想不往博客园放不行,还是放上来了. 原文 \[\texttt{Brief Introduction} \] 众所周知,THUSC2021 5 月 15-16 日在杭州市 XJ 中学举办,然而由于 ...
- LuoguB2028 反向输出一个三位数 题解
Content 给定一个三位数,请反向输出它. 数据范围:数值在 \(100\) 到 \(999\) 之间. Solution 如果我们把它当做是一个字符串来读入的话,这道题目就很简单了.STL 当中 ...