首頁  >  文章  >  Java  >  Java數組、二維數組及替換空格問題怎麼解決

Java數組、二維數組及替換空格問題怎麼解決

王林
王林轉載
2023-04-30 12:37:14821瀏覽

陣列中重複的數字

題目描述

Java數組、二維數組及替換空格問題怎麼解決

#思路詳解

本題的想法比較簡單,先將這個陣列排序,遍歷數組,找到目前的和前一個相同的直接輸出就好了。沒找到輸出-1.

注意:這個方法要注意循環的時候下標要從1開始哦,不然會報數組下標異常滴。

程式碼與結果

import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型一维数组 
     * @return int整型
     */
    public int duplicate (int[] numbers) {
        // write code here
        Arrays.sort(numbers);
        for(int i = 1 ; i < numbers.length; i++)
            if(numbers[i] == numbers[i - 1]) return numbers[i];
        return -1;
    }
}

二維陣列中的尋找

題目描述

Java數組、二維數組及替換空格問題怎麼解決

#想法詳解

這個題目有點難度。仔細讀題發現了一個重要條件,這個二位數組行和列都是遞增的,也就意味著左上最小,右下最大,並且左下元素大於它上方的元素,小於它右方的元素,右上元素與之相反。

根據這個規律,我們可以從左下出發分情況往上或右進行找,同時要先判斷一下特殊情況哦。具體細節上代碼。

程式碼與結果

public class Solution {
    public boolean Find(int target, int [][] array) {
        //优先判断特殊
        if(array.length == 0) 
            return false;
        int n = array.length;
        if(array[0].length == 0) 
            return false;
        int m = array[0].length;
        //从最左下角的元素开始往左或往上
        for(int i = n - 1, j = 0; i >= 0 && j < m; ){
            //元素较大,往上走
            if(array[i][j] > target)  
                i--;
            //元素较小,往右走
            else if(array[i][j] < target)
                j++;
            else
                return true;
        }
        return false;
    }
}

取代空格

題目描述

Java數組、二維數組及替換空格問題怎麼解決

思路詳解

本題的替換空格,思路還是比較簡單的。

我們遍歷字串把它存到一個臨時字符數組裡,在遍歷的時候直接判斷是否為空,如果是直接加進‘ ’三個字符,最後輸出即可。

注意:臨時數組的大小,設定為字串長度的3倍,剛剛好,假設字串全是空格,也可以滿足。同時也要注意字串的相關方法的運用。

程式碼與結果

import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串
     */
   public String replaceSpace(String s) {
    int length = s.length();
    char[] array = new char[length * 3];
    int index = 0;
    for (int i = 0; i < length; i++) {
        char c = s.charAt(i);
        if (c == &#39; &#39;) {
            array[index++] = &#39;%&#39;;
            array[index++] = &#39;2&#39;;
            array[index++] = &#39;0&#39;;
        } else {
            array[index++] = c;
        }
    }
    String newStr = new String(array, 0, index);
    return newStr;
}
}

以上是Java數組、二維數組及替換空格問題怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除