zoukankan      html  css  js  c++  java
  • 二维数组中的查找(python/c++)

    题目描述

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
     
    class Solution:
        def Find(self, target, array):
            # write code here
             # 主要思路:首先选取右上角的数字,如果该数字大于target,则该列全大于target,删除该列;
            # 如果该数字小于小于target,则该列全小于target,删除该行。
            found = False #初始化
            row= len(array)#求行的长度
            if row:
                col = len(array[0])#列的长度
            else:
                col = 0
            if(row>0 and col>0):
                i=0
                j=col-1
                while(i<row and j>=0):#循环查找
                    if array[i][j] == target:
                        found = True
                        break
                    elif array[i][j] > target:
                         j -= 1
                    elif array[i][j] < target:
                         i += 1
            return found
    

      

    class Solution:
        def Find(self, target, array):
            for row in range(len(array)):#遍历所有的数进行比较查找
                arr = array[row]
                # 对于每一行(一维数组),在这个一维数组中查找target。
                for index in range(len(array[0])):
                    if arr[index] == target:
                        return True
            return False
    

      

    c++代码

    //解题思路:
    //遍历所有的数
    #include<iostream>
    #include<vector>
    using namespace std;
    class Solution {
    public:
    	bool Find(int target, vector<vector<int> > array)
    	{
    		int rowNum = array.size();
    		int colNum = array[0].size();
    
    		for (int i = 0; i<rowNum; i++)
    		for (int j = 0; j<colNum; j++)
    		{
    			if (target == array[i][j])
    				return 1;
    		}
    		return 0;
    
    	}
    };
    
    int main(){
    	vector<vector<int> > array = { { 1, 2, 8, 9 }, { 2, 4, 9, 12 }, { 4, 7, 10, 13 }, { 6, 8, 11, 15 } };
    	int target = 19;
    	bool a = Solution().Find(target, array);
    	cout << a << endl;
    	system("pause");
    	return 0;
    }
    

      

  • 相关阅读:
    CentOS中安装Nginx
    SSM框架中Mybatis的分页插件PageHelper分页失效的原因
    linux相关设置
    windows下安装ElasticSearch的Head插件
    git学习
    消息队列介绍和SpringBoot2.x整合RockketMQ、ActiveMQ 9节课
    C# if语句
    C# switch语句
    C# for语句
    C# foreach语句
  • 原文地址:https://www.cnblogs.com/277223178dudu/p/10431009.html
Copyright © 2011-2022 走看看