9 1陣列與字串(四) 字串壓縮

2021-07-04 05:28:10 字數 3009 閱讀 3394

/**

* 功能:利用字元重複出現的次數,實現基本的字串壓縮功能。比如,字串

aabcccccaaa

會變成* a2b1c5a3.若壓縮後的字串沒有變短,則返回原來的字串。

*/五種方法:

1、用兩個陣列分別存放字元和對應的出現次數

//mine:用兩個陣列分別存放字元和出現次數

public

static

void

compressbad(string

str)

else

}int

i =0;

while(

num[

i ]!=0)

system.

out

.println(); }

2、用hashmap存放字元和出現的頻率,但不是用於本題目 (可參考遍歷hashmap)

//hashmap不適用本題,適合求字元數的總數

public

static

void

compressbad2(string

str)

else}

set>

sets

= map

.entryset();

for

(entry

entry

: sets

) system.

out

.println(); }

3、迭代訪問字串,並將字串拷貝到新字串,輸出重複字元。    

//迭代訪問字串,將字元拷貝到新字串,並輸出重複字元。

public

static

void

compressbad3(string

str)

else}

mystr

+=last

+ ""

+ count

; system.

out

.println(

mystr

); }

4、 加入stringbuffer加快字元拼接操作,同時加入了長度檢查

//加入stringbuffer加快字元拼接操作,同時加入了長度檢查。

public

static

void

compressbad4(string

str)

else}

mystr

last

);

mystr

count

);system.

out

.println(

mystr

);}     

static

int

countcompression(string

str)

else}

size

+=1+string.

valueof

( count

).length();

return

size

; }

5、不使用stringbuffer,採用字元陣列存放。

public

static

void

compressbad5(string

str)

else}

index

=setchar

( array

, last

, index

, count

);system.

out

.println(string.

valueof

( array

));//直接列印字元陣列 }

static

int

setchar(

char

array

,char

c ,

int

index

,int

count

)

return

index

; }

static

int

countcompression2(string

str)

else}

size

+=1+string.

valueof

( count

).length();

return

size

; }

python入門(四) 字串

0.字串的表示 字串可以用單引號 和雙引號 表示。若想在字串中表示單 雙引號,則在單 雙引號外面用雙 單引號括起來。故內部單 雙引號成為字元。1.字串的索引 字串的索引可以正序排列也可以倒序排列。正序從第乙個字元開始索引為0,正向遞增 倒敘從最後乙個字元開始索引為 1,反向遞減。2.字串的切片 返回...

C語言(四) 字串

define crt secure no warnings include include include 使用字元陣列儲存字串 void main char str 8 char str 10 chinese str 0 s printf s n str getchar 見圖一效果圖 字元指標 v...

Oracle基礎(四) 字串函式

1 concat char1,char2 將兩個字串拼接後返回 select concat ename,sal from emp 巢狀使用 select concat concat ename,sal from emp 使用 操作符來連線字串 select ename sal from emp 2 ...