剑指offer——面3:二维数组的查找and 面4:替换空格

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

public class Solution {
    public boolean Find(int target, int [][] array) {
        if(array==null)
            return false;
        return find(target,array,array.length-1,array[0].length-1);
    }
    public boolean find(int target,int[][] array,int row,int col){
        if(row<1||col<1)
            return false;
        int i=0,j=col;
        while(i<=row&&j>=0){
            if(array[i][j]==target)
                return true;
            else if(array[i][j]<target){
                i++;
            }
            else if(array[i][j]>target){
                j--;
            }
        }
        return false;
    }
}
//运行时间:190ms 占用内存:16348k

面4:替换空格

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

public class Solution {
    public String replaceSpace(StringBuffer str) {
        String res="";
        if(str.length()<1){
            return res;
        }
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)==' '){
                res+="%20";
            }
            else{
                res+=str.charAt(i);
            }
        }
        return res;
    }
}
//运行时间:31ms占用内存:9524k

猜你喜欢

转载自blog.csdn.net/u010843421/article/details/80884090
今日推荐