牛客题集

牛客刷剑指offer例题

2018-05-31  本文已影响0人  菊地尤里

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

public class Solution {
    public boolean Find(int target, int [][] array) {

        int len=array[0].length-1;
        int n=0;
        while((len>=0)&&(array.length>n)){
            if(array[n][len]>target){
                len--;
            }else if(array[n][len]<target){
                n++;
            }else{
               return true;
            }
        }
        return false;
    }
}

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

public class Solution {
    public String replaceSpace(StringBuffer str) {
        if(str==null)return null;
        int blankNum=0;
        int len=str.length();
        int newLen=0;
        for(int i=0;i<len;i++){
            if(str.charAt(i)==' '){
                blankNum++;
            }
        }
         newLen=len+2*blankNum;
         char[] charArr=new char[newLen];
         int index=newLen-1;
        for(int i=len-1;i>=0;i--){
            if(str.charAt(i)==' '){
                 charArr[index--]='0';
                 charArr[index--]='2';
                 charArr[index--]='%';
            }else{
                charArr[index--]=str.charAt(i);
            }
        }
        return new String(charArr);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读