/**
* 功能:利用字元重複出現的次數,實現基本的字串壓縮功能。比如,字串
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 ...