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}

原文地址:https://www.cnblogs.com/w3liu/p/10850374.html

时间: 2024-10-07 13:42:51

golang 算法题 : 二维数组搜索值的相关文章

《剑指Offer》算法题——二维数组查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. class Solution { public: bool Find(vector<vector<int> > array, int target) { int col = array.size(); int i = 0; while (i < col) { int j = array[i].size()

抓取二维数组某值出来,到一维数组

/*** * '抓取二维数组某值出来,到一维数组' * @param $arr * @param $item * @return array */ function get_arr_item_val($arr,$item){ if (!$arr){ return []; } $res = []; foreach ($arr as $v){ $res[] = $v[$item]; } return $res; } 原文地址:https://www.cnblogs.com/pansidong/p/1

【2048小游戏】——原生js爬坑之遍历算法显示二维数组内容

引言:做2048小游戏会将横纵方向的数字内容,存储在一个二维数组中,要将这个二维数组中的内容显示在页面上,就一定要用遍历算法来实现了. 一.二维数组存储    首先考虑用二维数组存储所有行数,列数  →  var  RN=4,CN=4; 然后再定义一个变量data 来保存这个二维数组  →  var  data; 游戏的所有主要执行程序都保存在start()函数下 → 启动游戏 保存存有行数,列数的二维数组到data中    关键代码 ↓ function start(){ data=[]; /

创建二维数组(一维长度3,二维长度6),值为一维数组和二维数组索引值的积,

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>二维数组</title><script type="text/javascript">var myarr = new Array(); for (var i = 1

C++算法之 二维数组的查找

题目:在一个二维数组当中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组 和一个整数,判断数组当中是否含有该整数. 思路: 1   2   8     9 2   4   9    12 4   7   10  13 6   8   11  15 每一行递增,如果右上角的数字小于要找的数字,那么这一行所有的数字都小于要找的数字: 每一列递增,如果右上角的数字大于要找的数字,那么这一列所有的数字都大于要找的数字: bool Find(

剑指offer刷题—二维数组的查找

最近接触到一本书叫做剑指offer,在这里准备在这个2个月左右将这本书刷完,当然,不需要每天多少道什么的,不在多,一天理解一道就好了,希望能成为一种习惯,另外,准备在github上也进行同步分享. 今天第一道题: 面试题3:二位数组中的查找 当我们需要解决一个复杂问题时,一个很有效的方法就是从具体的问题出手,通过分析具体的例子,得到规律. 再一个二维数组中,每一行都要按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排列.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含

算法之二维数组旋转

现在有个二维数组:data=[0,1,2,3],[0,1,2,3],[0,1,2,3],[0,1,2,3],每一行都是[0,1,2,3],要求顺时针旋转90度,变成每一列都是[0,1,2,3]. #首先生成一维数组的语句是: row=[i for i in range(6)] print(row) #运行结果: #[0, 1, 2, 3, 4, 5] #生成二维数组的语句是: data=[[i for i in range(4)] for k in range(4)] for j in data

[编程题]二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 备注: 因为之前学的是java,js是刚学不久,所以今天这道题让我重新了认识了数组在js中的存在形式(下面这张图用来自己记忆js中数组的结构): 这道题的思路: 举例: [1,2,3,4] [3,5,7,9] 假设二维数组是arr[x][y],要判断的整数是target=4,从最后一行第一个数开始比较,a

php 二维数组搜索

/* * $array带查询的数组 * $key 键名 * $value 键值 * return 键名对应的那条数据 */ function searchArray($array,$key,$value){ foreach($array as $key_i=>$value_i){ if($value_i[$key]==$value){ return $array[$key_i]; } } }