(java)Summary Ranges
来源:互联网 发布:已过期域名 取消备案 编辑:程序博客网 时间:2024/06/05 19:23
Given a sorted integer array without duplicates, return the summary of its ranges.
For example, given [0,1,2,4,5,7]
, return ["0->2","4->5","7"].
思路:循环遍历这个数组,如果a[i+1]<a[i]则将a[i]设置为这个范围的尾,将其入list,然后将a[i+1]设置为新的范围的开始。
代码如下(已通过leetcode)
public class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> list=new ArrayList<String>();
if(nums.length==0) return list;
boolean iscome=false;
int i=1;
String temp=""+nums[0];
while(i<nums.length) {
iscome=true;
if(nums[i]!=nums[i-1]+1) {
temp+="->";
temp+=nums[i-1];
list.add(temp);
temp=""+nums[i];
}
i++;
}
if(iscome) {
if(nums[i-1]==nums[i-2]+1) {
temp+="->";
temp+=nums[i-1];
list.add(temp);
}
else list.add(""+nums[i-1]);
} else{
list.add(""+temp);
}
String[] temps=new String[list.size()];
int k=0;
while(!list.isEmpty()) {
temps[k]=list.remove(0);
k++;
}
for(k=0;k<temps.length;k++){
if(temps[k].contains("->")){
String[] split=temps[k].split("->");
if(split[0].equals(split[1])){
temps[k]=split[0];
}
}
}
for(k=0;k<temps.length;k++)
list.add(temps[k]);
return list;
}
}
- (java)Summary Ranges
- [Java]Summary Ranges 统计区间
- [leetcode-228]Summary Ranges(java)
- 228. Summary Ranges leetCode[Java]
- Summary Ranges
- summary ranges
- Summary Ranges
- Summary Ranges
- Summary Ranges
- Summary Ranges
- Summary Ranges
- Summary Ranges
- Summary Ranges
- Summary Ranges
- Summary Ranges
- Summary Ranges
- Summary ranges
- Summary Ranges
- HTML 5 之 Web Workers
- 测试项目经验
- ?C_XBP解析
- 昆明市乡镇字段特殊处理
- MySQL与Oracle 函数差异比较
- (java)Summary Ranges
- 函数中不定参数的处理(函数参数个数不定)
- hadoop2.6.3 集群部署
- UITextView 四周间距
- [LeetCode-86] Partition List (链表数据分区)
- 调试组播发送
- 浏览器内存泄露
- [leetcode] 25. Reverse Nodes in k-Group 解题报告
- Caffe + Ubuntu 15.04 + CUDA 7.5 在服务器上安装配置及卸载重新安装(已测试可执行)