Java實現(xiàn)LeetCode(報數(shù))
題目如下:
public String countAndSay(int n) { if(n == 1){ return "1"; } //遞歸調(diào)用,然后對字符串處理 String str = countAndSay(n-1) + "*";//為了str末尾的標(biāo)記,方便循環(huán)讀數(shù) char[] c = str.toCharArray(); int count = 1; StringBuilder s = new StringBuilder(); for(int i = 0; i < c.length - 1;i++){ if(c[i] == c[i+1]){ count++;//計數(shù)增加 }else{ //s.append(s); s.append("" + count + c[i]);//上面的*標(biāo)記這里方便統(tǒng)一處理 count = 1;//初始化 } } return s.toString(); }
如果只數(shù)一次,那么結(jié)果就是“1”,這是特殊情況;如果要數(shù)的次數(shù)大于1就要進(jìn)入遞歸了。對于字符串我們自然無法對其中的字符進(jìn)行操作,所以需要把String轉(zhuǎn)換成char數(shù)組。然后在for循環(huán)外面定義了一個count變量,主要作用是當(dāng)出現(xiàn)連續(xù)的字符時進(jìn)行累加,最后轉(zhuǎn)換成字符,這是最關(guān)鍵的一環(huán)。
在做這個題目的過程中,剛開始用的是都是string,運行時間是30ms左右。后來把for循環(huán)中的string變量換成了Stringbuffer,執(zhí)行用時驟降至8ms。這給我了很大的啟示,不能再無腦的使用String,在適當(dāng)?shù)臅r候使用合適的變量類型可以帶來很大的性能提升。
但是在提交之后,我看到了用時1ms的范例。簡直是“投機(jī)取巧”的典型......因為測試用例就18個,所以switch cash寫了18中情況。這真的是太聰明了?。?!
到此這篇關(guān)于Java實現(xiàn)LeetCode(報數(shù))的文章就介紹到這了,更多相關(guān)Java實現(xiàn)報數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java URL 獲取PHP JSON 數(shù)據(jù)
這篇文章主要介紹了java URL 獲取PHP JSON 數(shù)據(jù),需要的朋友可以參考下2016-04-04詳解Java的MyBatis框架中動態(tài)SQL的基本用法
這篇文章主要介紹了詳解Java的MyBatis框架中動態(tài)SQL的基本用法,文中列出了一些常用SQL動態(tài)語句進(jìn)行講解,需要的朋友可以參考下2016-04-04Java使用新浪微博API開發(fā)微博應(yīng)用的基本方法
這篇文章主要介紹了Java使用新浪微博API開發(fā)微博應(yīng)用的基本方法,文中還給出了一個不使用任何SDK實現(xiàn)Oauth授權(quán)并實現(xiàn)簡單的發(fā)布微博功能的實現(xiàn)方法,需要的朋友可以參考下2015-11-11基于SpringBoot和Vue3的博客平臺文章列表與分頁功能實現(xiàn)
在前面的教程中,我們已經(jīng)實現(xiàn)了基于Spring Boot和Vue3的發(fā)布、編輯、刪除文章功能。本教程將繼續(xù)引導(dǎo)您實現(xiàn)博客平臺的文章列表與分頁功能,需要的朋友可以參考閱讀2023-04-04spring cloud gateway 限流的實現(xiàn)與原理
這篇文章主要介紹了spring cloud gateway 限流的實現(xiàn)與原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12Springboot設(shè)置文件上傳大小限制的實現(xiàn)示例
Spring Boot工程嵌入的tomcat限制了請求的文件大小默認(rèn)為1MB,單次請求的文件的總數(shù)不能大于10Mb,本文主要介紹了Springboot設(shè)置文件上傳大小限制的實現(xiàn)示例,感興趣的可以了解一下2023-11-11使用FormData上傳二進(jìn)制文件、對象、對象數(shù)組方式
這篇文章主要介紹了使用FormData上傳二進(jìn)制文件、對象、對象數(shù)組方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01