最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)壓縮字符串和java字符串過濾

 更新時(shí)間:2014年04月27日 09:54:51   作者:  
這篇文章主要介紹了java實(shí)現(xiàn)壓縮字符串和java字符串過濾,需要的朋友可以參考下

題目一:通過鍵盤輸入一串小寫字母(a~z)組成的字符串。

請(qǐng)編寫一個(gè)字符串過濾程序,若字符串中出現(xiàn)多個(gè)相同的字符,將非首次出現(xiàn)的字符過濾掉。
比如字符串“abacacde”過濾結(jié)果為“abcde”。

要求實(shí)現(xiàn)函數(shù):

復(fù)制代碼 代碼如下:

void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);

【輸入】 pInputStr:輸入字符串
lInputLen:輸入字符串長度
【輸出】 pOutputStr: 輸出字符串,空間已經(jīng)開辟好,與輸入字符串等長;

【注意】只需要完成該函數(shù)功能算法,中間不需要有任何IO的輸入輸出

示例
輸入:“deefd”輸出:“def”
輸入:“afafafaf” 輸出:“af”
輸入:“pppppppp” 輸出:“p”

main函數(shù)已經(jīng)隱藏,這里保留給用戶的測試入口,在這里測試你的實(shí)現(xiàn)函數(shù),可以調(diào)用printf打印輸出
當(dāng)前你可以使用其他方法測試,只要保證最終程序能正確執(zhí)行即可,該函數(shù)實(shí)現(xiàn)可以任意修改,
但是不要改變函數(shù)原型。一定要保證編譯運(yùn)行不受影響。

題二:題目描述:

通過鍵盤輸入一串小寫字母(a~z)組成的字符串。請(qǐng)編寫一個(gè)字符串壓縮程序,將字符串中連續(xù)出席的重復(fù)字母進(jìn)行壓縮,并輸出壓縮后的字符串。

壓縮規(guī)則:
1. 僅壓縮連續(xù)重復(fù)出現(xiàn)的字符。比如字符串"abcbc"由于無連續(xù)重復(fù)字符,壓縮后的字符串還是"abcbc".
2. 壓縮字段的格式為"字符重復(fù)的次數(shù)+字符"。例如:字符串"xxxyyyyyyz"壓縮后就成為"3x6yz"

要求實(shí)現(xiàn)函數(shù):

復(fù)制代碼 代碼如下:

void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);

【輸入】 pInputStr:輸入字符串
lInputLen:輸入字符串長度
【輸出】 pOutputStr: 輸出字符串,空間已經(jīng)開辟好,與輸入字符串等長;

【注意】只需要完成該函數(shù)功能算法,中間不需要有任何IO的輸入輸出

示例
輸入:“cccddecc” 輸出:“3c2de2c”
輸入:“adef” 輸出:“adef”
輸入:“pppppppp” 輸出:“8p”

復(fù)制代碼 代碼如下:

public class Test {

  

 static void stringFilter( char InputStr[], long len, char OutputStr[]){
  int[] a= new int[26];
  int num=0;
  int j=0;//OutputStr[]計(jì)數(shù)
  for(int i=0;i<len;i++){
   num = InputStr[i]-'a';
   if(a[num]==0){//沒出現(xiàn)過
    OutputStr[j]=InputStr[i];
    j++;
    a[num]=1;
   }
  }
 }

 static void stringZip( char InputStr[], long len, char OutputStr[]){
  char temp=' ';
  int num=1;
  int point=0;
  for(int i=0;i<len;i++){
   if(InputStr[i]==temp){
    num++;
   }else{
    if(num!=1){
     OutputStr[point++]=(char)(num+'0');
     num=1;
    }    
    OutputStr[point++]=temp;
    temp=InputStr[i];
   }
  }  
 }

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  char [] test={'a','a','a','c','b','b','b','a','a','c','a','d','d','d','c','d','e'};
  long len=test.length;
  char [] res = new char[(int) len];
  stringFilter(test,len,res);
  int j=res.length;
  for(int i=0;i<j;i++){
   if(res[i]!='\0'){
    System.out.print(res[i]);
   }else
    break;   
  }

  char[] res2=new char[(int) (2*len)];
  stringZip(test,len,res2);
  for(int i=0;i<2*len;i++){
   if(res2[i]!='\0'){
    System.out.print(res2[i]);
   }else
    break;
  }
 }
}

相關(guān)文章

  • 詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

    詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題

    這篇文章主要介紹了IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java的split方法使用詳解

    Java的split方法使用詳解

    這篇文章主要詳細(xì)介紹了Java的split方法使用說明,十分的細(xì)致全面,有需要的小伙伴可以參考下。
    2015-07-07
  • java微信公眾號(hào)企業(yè)付款開發(fā)

    java微信公眾號(hào)企業(yè)付款開發(fā)

    這篇文章主要為大家詳細(xì)介紹了java微信公眾號(hào)企業(yè)付款開發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Java判斷字符串是否為IP地址的方法

    Java判斷字符串是否為IP地址的方法

    這篇文章主要為大家詳細(xì)介紹了Java判斷字符串是否為IP地址的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 詳解Spring Cloud Alibaba Sidecar多語言微服務(wù)異構(gòu)

    詳解Spring Cloud Alibaba Sidecar多語言微服務(wù)異構(gòu)

    這篇文章主要介紹了詳解Spring Cloud Alibaba Sidecar多語言微服務(wù)異構(gòu),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • IDEA2021.2永久激活碼最新超詳細(xì)(激活到2099)

    IDEA2021.2永久激活碼最新超詳細(xì)(激活到2099)

    這篇文章主要介紹了IDEA2021.2永久激活碼,是idea2021版最新激活方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解Java線程池的使用(7種創(chuàng)建方法)

    詳解Java線程池的使用(7種創(chuàng)建方法)

    這篇文章主要介紹了詳解Java線程池的使用(7種創(chuàng)建方法),線程池的創(chuàng)建?式總共包含7種,其中6種是通過Executors創(chuàng)建的,1種是通過ThreadPoolExecutor創(chuàng)建的,今天我們就來詳細(xì)說一下
    2023-03-03
  • 詳解Spring中Bean的加載的方法

    詳解Spring中Bean的加載的方法

    本篇文章主要介紹了Spring中Bean的加載的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java網(wǎng)絡(luò)編程之TCP程序設(shè)計(jì)

    Java網(wǎng)絡(luò)編程之TCP程序設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了Java網(wǎng)絡(luò)編程之TCP程序設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Spring實(shí)現(xiàn)Logback日志模板設(shè)置動(dòng)態(tài)參數(shù)功能

    Spring實(shí)現(xiàn)Logback日志模板設(shè)置動(dòng)態(tài)參數(shù)功能

    本文介紹如何在Spring應(yīng)用中實(shí)現(xiàn)Logback日志模板的動(dòng)態(tài)參數(shù)設(shè)置,通過設(shè)計(jì)traceId鏈路標(biāo)識(shí),將其動(dòng)態(tài)添加到日志輸出中,從而實(shí)現(xiàn)簡易的鏈路追蹤功能,感興趣的朋友跟隨小編一起看看吧
    2024-11-11

最新評(píng)論

宜城市| 武威市| 梅州市| 高平市| 凤凰县| 饶平县| 青阳县| 防城港市| 同江市| 缙云县| 收藏| 淮阳县| 凤凰县| 顺义区| 宣恩县| 阿城市| 眉山市| 玉屏| 婺源县| 曲阳县| 乃东县| 曲阜市| 上栗县| 永兴县| 临城县| 克山县| 京山县| 伊宁县| 太保市| 沧源| 于田县| 宣威市| 扶沟县| 濮阳市| 岳西县| 东宁县| 固原市| 安陆市| 泗阳县| 太仆寺旗| 彭阳县|