java算法002:字符串

  • 字符串:
    字符串可以放到數組中,就是在內存中先聲明一個連續的內存空間,然後再把字符串放進去,一個指針指在這個數組上,在此兩個數組字符串的內存地址不一樣,所以s1!=s2。
    字符串也可以放在指針上,此時不能改變他的值,他就是一個常量字符串,是隻讀的。此時指針能動,多個指針可以指到這個字符串上。s1==s2
  • 字符串的統計:
    對於單個字符串統計字符的個數的思路一般是先查找出來。然後再統計,可以將字符串先轉換成字符,再由字符生成ASK碼,對ASK碼進行對比,如果兩個一樣就代表是同一個字符,這樣浪費時間,要拿ASK碼一個一個進行比較,所以我們用ASK%1,生成哈希空間,後面進來的字符串轉成ASK碼之後只要給空間裏面填就好了,這樣需要在內存提前開闢足夠多的的空間,大量浪費了空間。所以它相當於浪費空間複雜度賺取時間複雜度。
package suanfa;
public class MyString {
	public static void main(String[] args) {
		String str = "a abc fo abc gsdfsdsbcsgsod abcsgs abc";
        int fromIndex = 0;
        int count = 0;//個數
        while(true){
            int index = str.indexOf("abc", fromIndex);
            if(-1 != index){
                fromIndex = index + 1;
                count++;
            }else{
                break;
            }
        }
        System.out.println(count);	
	}
}
  • 字符串匹配:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章