隨筆 - 71  文章 - 15  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          因?yàn)榭诳剩系蹌?chuàng)造了水;
          因?yàn)楹诎担系蹌?chuàng)造了火;
          因?yàn)槲倚枰笥眩陨系圩屇銇?lái)到我身邊
          Click for Shaanxi xi'an, Shaanxi Forecast
          ╱◥█◣
            |田|田|
          ╬╬╬╬╬╬╬╬╬╬╬
          If only I have such a house!
          〖總在爬山 所以艱辛〗
          Email:myesjoy@yahoo.com.cn
          NickName:yesjoy
          MSN:myesjoy@hotmail.com
          QQ:150230516

          〖總在尋夢(mèng) 所以苦痛〗

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          Hibernate在線

          Java友情

          Java認(rèn)證

          linux經(jīng)典

          OA系統(tǒng)

          Spring在線

          Structs在線

          專家專欄

          企業(yè)信息化

          大型設(shè)備共享系統(tǒng)

          工作流

          工作流產(chǎn)品

          網(wǎng)上購(gòu)書

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          給定某一長(zhǎng)度的字符串,請(qǐng)找出其中由相同字符連接而成的最長(zhǎng)字符串,
          并已"字母,長(zhǎng)度"的形式返回。
          比如"axxxbbbbxxxxxdd"其中由相同字符連接而成的最長(zhǎng)字符串為xxxxx,則返回"x,5".
          如果出現(xiàn)由不同字符構(gòu)成的長(zhǎng)度相同的字符串,則返回先出現(xiàn)的。
          比如"aaabbbcc",返回"a,3".

          包名:無(wú)
          類名:SequenceFinder
          方法簽名:public String find(String message)
          其中給定的message僅由字符'a'-'z'構(gòu)成,message長(zhǎng)度為1-40

          class StringProcessing
          {
           
          static String getSubEqualString(String sourceString)
           {
            
          int stringLength=sourceString.length();//取得字符串的長(zhǎng)度。
            
          //從最長(zhǎng)的子串(長(zhǎng)度為stringlength的子串)開始檢查,再檢查第二長(zhǎng)的子串
            
          //(長(zhǎng)度為stringlength-1的子串),依次檢查到長(zhǎng)度為2的子串。
            for(int i=1;i<stringLength;i++)
            {
             TESTNEXT:
          for(int j=1;j<=i;j++)//遍歷檢查所有長(zhǎng)度為(stringLength-i+1)的子串, 
             {
              
          int subStart=j-1,subEnd=stringLength-i+1+subStart;//計(jì)算將進(jìn)行檢查的子串的起始位置和結(jié)束位置。
              String tempString=sourceString.substring(subStart,subEnd);//取得將要檢查的子串。
              for(int k=0;k<tempString.length()-1;k++)
              {
               
          //若相鄰的兩個(gè)字符不相等,則不符合要求,立即結(jié)束對(duì)此子串的檢查。
               if(tempString.charAt(k)!=tempString.charAt(k+1)){continue TESTNEXT;}
              }
              
          return tempString;//若子串的所有字符都相同,則此子串就是我們要找的最長(zhǎng)相同子串。
             }
            }
            
          return sourceString.substring(0,1);//如果沒有長(zhǎng)度為2的子串,則第一個(gè)字符就是最長(zhǎng)子串了。
           }
          }
          public class tryequalstring
          {
           
          public static void main(String[] args)
           {
            System.out.println(
          "aaabbbbbbcccddd"+":"+StringProcessing.getSubEqualString("aaabbbbbbcccddd"));
            System.out.println(
          "aaabbbcccdddeee"+":"+StringProcessing.getSubEqualString("aaabbbcccdddeee"));
            System.out.println(
          "abcdefghijklmno"+":"+StringProcessing.getSubEqualString("abcdefghijklmno"));
            System.out.println(
          "bbbbbbbbbbbbbbb"+":"+StringProcessing.getSubEqualString("bbbbbbbbbbbbbbb"));
           }
          }
          //運(yùn)行結(jié)果如下:
          E:\java\ProgramJava\blog\io>javac tryequalstring.java
          E:\java\ProgramJava\blog\io
          >java tryequalstring
          aaabbbbbbcccddd:bbbbbb
          aaabbbcccdddeee:aaa
          abcdefghijklmno:a
          bbbbbbbbbbbbbbb:bbbbbbbbbbbbbbb
          posted on 2006-02-19 16:00 ★yesjoy★ 閱讀(1906) 評(píng)論(0)  編輯  收藏 所屬分類: 算法總結(jié)
          主站蜘蛛池模板: 伊金霍洛旗| 新巴尔虎右旗| 伽师县| 高邑县| 吴桥县| 衡阳县| 梁河县| 西青区| 海林市| 松原市| 怀宁县| 西平县| 宁陵县| 龙南县| 布拖县| 张家界市| 太康县| 湖口县| 霍林郭勒市| 洞口县| 额尔古纳市| 伊宁县| 荣成市| 卓资县| 宝兴县| 克什克腾旗| 东丽区| 黔江区| 望都县| 上饶县| 府谷县| 葫芦岛市| 峨眉山市| 广宗县| 兴国县| 乐昌市| 泸水县| 勐海县| 大渡口区| 广安市| 安龙县|