Java數(shù)組與二維數(shù)組及替換空格實(shí)戰(zhàn)真題講解
數(shù)組中重復(fù)的數(shù)字
題目描述
思路詳解
本題的思路比較簡(jiǎn)單,首先將這個(gè)數(shù)組排序,遍歷數(shù)組,找到當(dāng)前的和前一個(gè)相同的直接輸出就好了。沒找到輸出-1.
注意:這個(gè)方法要注意循環(huán)的時(shí)候下標(biāo)要從1開始哦,不然會(huì)報(bào)數(shù)組下標(biāo)異常滴。
代碼與結(jié)果
import java.util.*; public class Solution { /** * 代碼中的類名、方法名、參數(shù)名已經(jīng)指定,請(qǐng)勿修改,直接返回方法規(guī)定的值即可 * * * @param numbers int整型一維數(shù)組 * @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; } }
二維數(shù)組中的查找
題目描述
思路詳解
這個(gè)題目有點(diǎn)難度。仔細(xì)讀題發(fā)現(xiàn)了一個(gè)重要條件,這個(gè)二位數(shù)組行和列都是遞增的,也就意味著左上最小,右下最大,并且左下元素大于它上方的元素,小于它右方的元素,右上元素與之相反。
根據(jù)這個(gè)規(guī)律,我們可以從左下出發(fā)分情況往上或者右進(jìn)行找,同時(shí)要先判斷一下特殊情況哦。 具體細(xì)節(jié)上代碼。
代碼與結(jié)果
public class Solution { public boolean Find(int target, int [][] array) { //優(yōu)先判斷特殊 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; } }
替換空格
題目描述
思路詳解
本題的替換空格,思路還是比較簡(jiǎn)單的。
我們遍歷字符串把它存到一個(gè)臨時(shí)字符數(shù)組里,在遍歷的時(shí)候直接判斷是否為空,如果是直接加進(jìn)‘%20’三個(gè)字符,最后輸出即可。
注意:臨時(shí)數(shù)組的大小,設(shè)置為字符串長(zhǎng)度的3倍,剛剛好,假設(shè)該字符串全是空格,也可以滿足。同時(shí)也要注意字符串的相關(guān)方法的運(yùn)用哦。
代碼與結(jié)果
import java.util.*; public class Solution { /** * 代碼中的類名、方法名、參數(shù)名已經(jīng)指定,請(qǐng)勿修改,直接返回方法規(guī)定的值即可 * * * @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 == ' ') { array[index++] = '%'; array[index++] = '2'; array[index++] = '0'; } else { array[index++] = c; } } String newStr = new String(array, 0, index); return newStr; } }
到此這篇關(guān)于Java數(shù)組與二維數(shù)組及替換空格實(shí)戰(zhàn)真題講解的文章就介紹到這了,更多相關(guān)Java數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
TransmittableThreadLocal線程間傳遞邏輯示例解析
這篇文章主要介紹了TransmittableThreadLocal線程間傳遞邏輯示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Java學(xué)習(xí)筆記:基本輸入、輸出數(shù)據(jù)操作實(shí)例分析
這篇文章主要介紹了Java學(xué)習(xí)筆記:基本輸入、輸出數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了Java輸入、輸出數(shù)據(jù)相關(guān)函數(shù)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2020-04-04基于Java實(shí)現(xiàn)緩存Cache的深入分析
本篇文章是對(duì)Java實(shí)現(xiàn)緩存Cache進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06SpringBoot實(shí)現(xiàn)點(diǎn)餐系統(tǒng)的登錄與退出功能流程詳解
結(jié)束了Springboot+MyBatisPlus也是開始了項(xiàng)目之旅,將從后端的角度出發(fā)來(lái)整理這個(gè)項(xiàng)目中重點(diǎn)業(yè)務(wù)功能的梳理與實(shí)現(xiàn)2022-10-10java 線程之對(duì)象的同步和異步(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇java 線程之對(duì)象的同步和異步(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07使用spring框架ResponseEntity實(shí)現(xiàn)文件下載
這篇文章主要介紹了使用spring框架ResponseEntity實(shí)現(xiàn)文件下載,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02