劍指Offer之Java算法習(xí)題精講數(shù)組與字符串題
題目一
數(shù)組題——查找數(shù)組中數(shù)值
根據(jù)給定的數(shù)組按照指定條件查找其中指定數(shù)值
具體題目如下
解法
class Solution { public int thirdMax(int[] nums) { Arrays.sort(nums); if(nums.length<3){ return nums[nums.length-1]; } int p = 1; for(int i =nums.length-2;i>=0;i--){ if(nums[i]==nums[i+1]){ }else{ ++p; if(p==3){ return nums[i]; } } } return nums[nums.length-1]; } }
題目二
數(shù)組題——查找數(shù)組
根據(jù)給定的整數(shù)查找從1到該值中間符合條件的值
具體題目如下
解法
class Solution { public List<String> fizzBuzz(int n) { ArrayList<String> list =new ArrayList<String>(); for(int i = 1;i<=n;i++){ if(i%3==0&&i%5==0){ list.add("FizzBuzz"); }else if(i%3==0){ list.add("Fizz"); }else if(i%5==0){ list.add("Buzz"); }else{ list.add(""+i); } } return list; } }
題目三
字符串題——查找字符串
根據(jù)給定的兩個(gè)字符串按照指定條件查找符合條件的元素
具體題目如下
解法
class Solution { public char findTheDifference(String s, String t) { int[] q = new int[500]; for(int i = 0;i<s.length();i++){ q[s.charAt(i)] += 1; } for(int i = 0;i<t.length();i++){ q[t.charAt(i)]-=1; if(q[t.charAt(i)]<0){ return t.charAt(i); } } return t.charAt(0); } }
題目四
字符串題——查找字符串
根據(jù)給定的字符串按條件查找不重復(fù)的字符
具體題目如下
解法
class Solution { public int firstUniqChar(String s) { int[] w = new int[60]; for(int i=0;i<s.length();i++){ w[s.charAt(i)-'a']+=1; } char z = 'a'; for(int i =0;i<w.length;i++){ if(w[i]==1){ z =(char)(i+'a'); break; } } for(int i=0;i<s.length();i++){ if(w[s.charAt(i)-'a']==1){ return i; } } return -1; } }
題目五
數(shù)組題——查找數(shù)組中最大連續(xù)1的個(gè)數(shù)
根據(jù)給定數(shù)組查找數(shù)組中最大連續(xù)1的個(gè)數(shù)
具體題目如下
解法
class Solution { public int findMaxConsecutiveOnes(int[] nums) { int maxCount = 0, count = 0; int n = nums.length; for (int i = 0; i < n; i++) { if (nums[i] == 1) { count++; } else { maxCount = Math.max(maxCount, count); count = 0; } } maxCount = Math.max(maxCount, count); return maxCount; } }
到此這篇關(guān)于劍指Offer之Java算法習(xí)題精講數(shù)組與字符串題的文章就介紹到這了,更多相關(guān)Java 數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java將數(shù)組轉(zhuǎn)換成字符串的四種方法總結(jié)
- java逗號(hào)分隔String字符串及數(shù)組、集合相互轉(zhuǎn)換
- java中List數(shù)組用逗號(hào)分隔開(kāi)轉(zhuǎn)成字符串2種方法
- Java中字符串和byte數(shù)組之間的簡(jiǎn)單轉(zhuǎn)換方法
- Java將字符串轉(zhuǎn)化為數(shù)組的兩種方法
- 劍指Offer之Java算法習(xí)題精講N叉樹(shù)的遍歷及數(shù)組與字符串
- 關(guān)于java數(shù)組與字符串相互轉(zhuǎn)換的問(wèn)題
- Java 字符數(shù)組轉(zhuǎn)字符串的常用方法
相關(guān)文章
java中子類(lèi)繼承父類(lèi),程序運(yùn)行順序的深入分析
本篇文章是對(duì)java中子類(lèi)繼承父類(lèi),程序運(yùn)行順序進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06mybatis配置文件簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了mybatis配置文件簡(jiǎn)介的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09Spring?Boot應(yīng)用打WAR包后無(wú)法注冊(cè)到Nacos的問(wèn)題及解決方法
當(dāng)我們將?Spring?Boot?應(yīng)用打包成?WAR?并部署到外部?Tomcat?服務(wù)器時(shí),可能會(huì)遇到服務(wù)無(wú)法注冊(cè)到?Nacos?的情況,其原因主要是應(yīng)用獲取不到正確的服務(wù)器端口,下面給大家介紹Spring?Boot?應(yīng)用打?WAR?包后無(wú)法注冊(cè)到?Nacos的問(wèn)題及解決方法,感興趣的朋友跟隨小編一起看看吧2024-06-06關(guān)于Scanner中nextInt()、nextLine()等方法總結(jié)與問(wèn)題解決
這篇文章主要介紹了關(guān)于Scanner中nextInt()、nextLine()等方法總結(jié)與問(wèn)題解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2022-11-11如何查看Linux上正在運(yùn)行的所有Java程序列表
在linux操作時(shí),經(jīng)常要查看運(yùn)行的項(xiàng)目的進(jìn)程和端口,下面這篇文章主要給大家介紹了關(guān)于如何查看Linux上正在運(yùn)行的所有Java程序列表的相關(guān)資料,需要的朋友可以參考下2023-10-10