zoukankan      html  css  js  c++  java
  • 剑指offer03-04

    剑指offer 03.04

    1.面试题03.数组中重复的数值

    方法1.直接使用暴力查找的方法,

        public static int findRepeatNumber(int[] nums){
            int[] arrs = new int[nums.length];
            for (int i = 0; i < nums.length; i++) {
                arrs[nums[i]] ++;
                if(arrs[nums[i]]>1) return nums[i];
            }
            return -1;
        }
    

      

    2.面试题04.二维数组中的查找

    方法1.直接使用暴力查找的方法

     1     public static boolean findNumberIn2DArray(int[][] matrix, int target) {
     2         int n = matrix.length,m;
     3         if(n!=0)  m = matrix[0].length;
     4         else return false;
     5         for(int i =0;i<n;i++){
     6             for(int j =0;j<m;j++)
     7                 if(matrix[i][j]==target) return true;
     8         }
     9         return false;
    10     }

    方法2.将这个二维数组看成是一个二叉排序树,从右上角看作是二叉排序树的根

        public static boolean findNumberIn2DArrayPlus(int[][] matrix,int target){
            int n = matrix.length,m,rN,rM;
            if(n!=0) m = matrix[0].length;
            else return false;
            
            rN = 0;
            rM = m-1;
            if(rN>=n||rM<0) return false;
            int root = matrix[rN][rM];
            while(true){
                if(rN>=n||rM<0) return false;
                if(root<target) rN++;
                else if(root>target) rM--;
                else return true;
                root = matrix[rN][rM];
            }
    
        }
    知之为知之,不知为不知
  • 相关阅读:
    Codeforces Round #369 (Div. 2)
    poj3189二分图多重匹配
    a 标签传值
    phpStudy 虚拟主机
    wampserver 虚拟主机
    $file函数
    PHP脚本运行时间
    查询timestamp类型数据
    驼峰法
    easyUI导出数据
  • 原文地址:https://www.cnblogs.com/bevishe/p/12307482.html
Copyright © 2011-2022 走看看