Javaのインタビューの質問------発見の2次元配列を、スペースを置き換えます

ゲイン

  • このような思考の配列を探す1
  • 2.StringBuliderこの方法のStringBufferの条件に比べて、それがないスレッドセーフの欠点を持っていますが、速度が非常に速かったです
  • 3.配列内の要素の数が固定され、配列の長さは一定値であり、使用されるarr.length長さを表すために、しかし、セット内の要素のコレクションがあまりにも複雑である、の使用ので、list.length()

2次元配列を探す1

N×M個の二次元アレイでは、各列から昇順に上から下へ、各列をソートするソート昇順の順に左から右へ。完全な機能は、そのような二次元アレイと整数を入力し、配列の整数が含まれているか否かを判断します

分析:配列の特徴は、データの右上には、対象かどうかを判断するために範囲を狭めるために取ることができる彼の財産の左半分よりも大きく、彼より右が小さい知ることができますがあります

例:
次のように既存の行列が掛け:

[
  [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]
]

class Solution {
    public boolean findNumberIn2DArray(int[][] matrix, int target) {
          if(matrix == null||matrix.length==0||matrix[0].length==0){
              return false;
          }
          int lie = matrix[0].length -1;
          int hang = matrix.length;
          int row = 0;
          int column = lie;
          while(column >=0 && row < hang ){
              int shu = matrix[row][column];
              if(shu==target){
                  return true;
              }else if(shu<target){
                  row++;
              }else{
                  column--;
              }
          } 
          return false;   
    }
}

スペースを交換してください。2.

文字列s内の各スペースを置き換え、機能を実装してください「20%。」

输入:s = "We are happy." 输出:"We%20are%20happy."

StringBuilderの使用は、通常、追加、「%20」の文字に一対一のトラバース出会いのスペースで文字に最初の文字列が特徴

class Solution {
    public String replaceSpace(String s) {
        StringBuilder sb = new StringBuilder();
        int chang = s.length();
        for(int i=0;i<chang;i++){
            char c = s.charAt(i);
            if(c==' '){
                sb.append("%20");
            }else{
                sb.append(c);
            }
        }
        return sb.toString();
    }
}
公開された87元の記事 ウォン称賛7 ビュー5025

おすすめ

転載: blog.csdn.net/y18791050779/article/details/105061593