Spirit

          Google Code Jam - SkipStones的一種遞歸算法

          public class SkipStones {
              
          private String water = "X";

              
          public int maxDistance(String water) {
                  
          this.water = water;
                  
          int max = 0;
                  
          int sum = 0;
                  
          for (int initial = 1; initial < water.length() + 1; initial++) {
                      sum 
          = bounce(0, initial);
                      max 
          = (sum > max ? sum : max);
                  }
                  
          return max;
              }

              
          private int bounce(int startDistance, int bounceDistance) {
                  
          if (bounceDistance == 0)
                      
          return startDistance;

                  
          if ((startDistance + bounceDistance) > water.length())
                      
          return -1;

                  
          if (water.charAt(startDistance + bounceDistance - 1== 'X')
                      
          return startDistance;

                  
          return bounce(startDistance + bounceDistance, bounceDistance / 2);
              }

              
          public static void main(String[] args) {
                  SkipStones skipStones 
          = new SkipStones();
                  System.out.println(skipStones.maxDistance(args[
          0]));
              }
          }

          posted on 2005-12-15 13:29 Spirit 閱讀(361) 評論(1)  編輯  收藏

          評論

          # re: Google Code Jam - SkipStones的一種遞歸算法 2009-05-10 05:41 exceptionxu

          驗證好像不通過。試用以下的
          XXXXXXX.XXX.X......X........XXXXX......XXXXX...
          得到的結(jié)果是39,但39應(yīng)該是錯誤的,怎么算都會碰到X  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 佛学| 汝州市| 成都市| 富阳市| 东辽县| 临潭县| 津市市| 永靖县| 庆安县| 乐陵市| 聂拉木县| 松桃| 定兴县| 云和县| 桦甸市| 多伦县| 呼图壁县| 玛纳斯县| 沁水县| 柳河县| 华坪县| 治县。| 杭州市| 三江| 东兴市| 栾川县| 洞头县| 天峻县| 延长县| 新郑市| 高台县| 太和县| 华宁县| 丰台区| 望江县| 南乐县| 新津县| 垫江县| 津南区| 英吉沙县| 芷江|