第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

號段合并算法

號段合并算法

猛跑小豬 2019-03-13 18:15:16
若傳入?yún)?shù)值21~40,51~100,41~42,1~50(該參數(shù)類型可為string,string[]或list)合并結(jié)果為1~100,21~42(類型可同傳入?yún)?shù))。傳入?yún)?shù)可以重復,如:21~40,51~100,41~42,1~50,1~50,返回結(jié)果也同上。
查看完整描述

4 回答

?
嗶嗶one

TA貢獻1854條經(jīng)驗 獲得超8個贊

//new String[]{"21~40","51~100","41~42","1~50"} 
public static Object merge(Object o)
{
if(o instanceof String[])
{
String[] numbers = (String[])o;
int resultLength = numbers.length;
for(int i = 0; i < numbers.length; i++)
{
if(numbers[i] == null) continue;
int start = getStart(numbers[i]);
int end = getEnd(numbers[i]);
if(start > end) continue;
for(int j = 0; j < numbers.length; j++)
{
if(i == j || numbers[j] == null) continue;
int nextStart = getStart(numbers[j]);
int nextEnd = getEnd(numbers[j]);
if(start == (nextEnd + 1))
{
numbers[i] = nextStart + delimiter + end;
numbers[j] = null;
resultLength--;
}
}
}
String[] result = new String[resultLength]; 
int index = 0;
for(int i = 0; i < numbers.length; i++)
{
if(numbers[i] == null) continue;
result[index++] = numbers[i];
System.out.println(numbers[i]);
}
return result;
}
return null;
}

只寫了string[]類型的,list等參數(shù)類型按照這個思路自己補充就行了


查看完整回答
反對 回復 2019-04-26
?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

忘記兩個方法了
[code="java"]
private static final String delimiter = "~";
public static int getStart(String number)
{
String start = number.substring(0, number.indexOf(delimiter));
return Integer.valueOf(start);
}

public static int getEnd(String number)
{
    String end = number.substring(number.indexOf(delimiter) + 1);
    return Integer.valueOf(end);
}


查看完整回答
反對 回復 2019-04-26
  • 4 回答
  • 0 關(guān)注
  • 516 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號