早晨剛翻出來,竟然可以用正則表達式實現。
其實可以用o(n)的時間複雜度加三四個變量直接搜索出來
final String str = "aaaabbbbbcccbbbbbd****$$$$$$$$$%%%%%%%%aaab"; int length = str.length(); char temp = str.charAt(0); int start = 0; for(int i=1;i<length;i++) { //循環比較,如果在某個位置的字符不等於temp,那麼就輸出start-i的子串 if(temp != str.charAt(i)) { System.out.println(str.substring(start,i)); start = i; temp = str.charAt(i); } //特殊情況處理 if(i == length -1) { System.out.println(str.substring(start, length)); } }
正則的實現如下:
final String str = "aaaabbbbbcccbbbbbd****$$$$$$$$$%%%%%%%%aaab"; String regex = "(?<=(//S))(?!//1)"; String []k = str.split(regex); for(int i = 0;i<k.length;i++){ System.out.println(k[i]); }
regex的意思是在某個縫隙向前看,都是合法的非控制,非不可見字符,向後看呢,
和前面的不等。。。
今天比較仔細的觀察了下1.6jdk下的java.util.Arrays.sort方法 稍微總結下: sort分爲對基本數據類型(byte char short int float long double)和object類型的排序 1.對基
昨天,今天從源程序級別仔細觀察了下這些操作的邏輯,除了沒看到過的, 都看過了:)哈哈。。。 jdk從1.5開始有了自動拆箱裝箱功能, 對寫程序方便了不少,1.5開始加了不少新特性麼。 java的基本數據類型有 boolean char b
用C/C++來實現字符串的反轉。比如:字符串”I am a good developer!”反轉之後變成了”developer! Good a am I”。(只有單詞反轉,單詞裏的字母不反轉) 用c語言來搞先到字符串末尾然後挨個掃描碰到非
很久以前弄的了,作個記錄, 不說了,上代碼: function encpw($src){ $spw=$src; //$spw=base64_decode($src); $Xbox1 = array( chr(75), chr(99), c
開始你的bbed之旅 默認情況下,bbed鏈接到了rdbms/lib目錄。很明顯,不是咱們經常用的$ORACLE_HOME/bin目錄。鏈接後的bbed可執行文件可以移動到bin目錄,如果你不移動的話,可以在rdbms/lib目錄來啓