caoyinghui

          合并連續數字的算法

          public class Test {
          	public static void main(String[] args) {
          		String str = new String(
          				"1,2,3,4,5,6,7,8,9,11,13,14,1000,1001,1002,1003");
          		String[] s = str.split(",");
          		int[] num = new int[s.length];
          		String result = "";
          		for (int i = 0; i < s.length; i++) {
          			num[i] = Integer.parseInt(s[i]);
          		}
          		for (int i = 0; i < num.length; i++) {
          			if (i == 0) {
          				result = "" + num[i];
          			} else if (i == num.length - 1) {
          				if (num[i] - num[i - 1] == 1) {
          					result = result + "-" + num[i];
          				} else {
          					result = result + "," + num[i];
          				}
          			} else {
          				if ((num[i] - num[i - 1] == 1) && (num[i + 1] - num[i] == 1)) {
          					continue;
          				}
          				if ((num[i] - num[i - 1] == 1) && (num[i + 1] - num[i] != 1)) {
          					result = result + "-" + num[i];
          				}
          				if ((num[i] - num[i - 1] != 1)) {
          					result = result + "," + num[i];
          				}
          
          			}
          
          		}
          		System.out.println(result);
          	}
          }
          作者:caoyinghui1986 發表于2008-5-31 14:11:00 原文鏈接
          閱讀:288 評論:1 查看評論

          posted on 2008-05-31 06:11 shine_panda 閱讀(259) 評論(0)  編輯  收藏


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


          網站導航:
           
          <2008年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安溪县| 民勤县| 蒙城县| 洱源县| 合山市| 苏尼特左旗| 宜阳县| 永寿县| 财经| 沽源县| 延寿县| 天等县| 广安市| 登封市| 鹿邑县| 唐河县| 大余县| 垣曲县| 安康市| 修文县| 九江市| 科尔| 西平县| 张北县| 炉霍县| 扎鲁特旗| 眉山市| 涞源县| 奉化市| 镇远县| 新疆| 济源市| 剑河县| 庆城县| 响水县| 辉县市| 红安县| 沁阳市| 资溪县| 望江县| 沙湾县|