解决方案 »
- JNA 讨论大开展
- java读取PDF文档/word文档
- 仿照大虾的程序写了一个超简单的东西,又出错了
- 大家好.请来帮帮我这个新手吧。衷心感谢
- 高分求java的C/S模式中怎么来传递一个对象?
- 老子毕业前四个月到深圳,cjol上投了10000多份简历,平均每天投300多份,我容易吗我
- 怎样通过RandoAccessFile类实现以下类在文件中的随机存取?(随机存取包括:定位记录,查找记录,删除记录,加入记录)
- import javax.servlet.*;import javax.servlet.http.*;的问题
- 安装sun one studio 4的时候说找不到匹配的jvm,我应该装什么虚拟机?(windows xp平台)
- 如何将一个Object类型转换为String类型和Integer类型
- 抛异常与重写
- sql 排重方法
public static List<Integer> delContinousNum(Integer[] orgin) {
if (orgin == null || orgin.length == 0)
{
return new ArrayList<Integer>();
}
Integer[] tmp = orgin.clone();
Arrays.sort(tmp, Collections.reverseOrder());
if (tmp.length == 1 || tmp.length == 2)
{
return Arrays.asList(tmp);
}
List<Integer> r = new ArrayList<Integer>(tmp.length);
int start = 0;
for (int i = 0; i < tmp.length - 1; i ++)
{
if (tmp[i].intValue() == tmp[i + 1].intValue() + 1 || tmp[i].intValue() == tmp[i + 1].intValue())
{
if (i > 0 && tmp[i].intValue() != tmp[i-1].intValue() - 1 && tmp[i].intValue() != tmp[i-1].intValue())
{
start = i;
}
continue;
}else
{
if (start == i) {
r.add(tmp[i]);
} else
{
r.add(tmp[start]);
r.add(tmp[i]);
}
start = i + 1;
}
}
if (start != tmp.length - 1)
{
r.add(tmp[start]);
}
r.add(tmp[tmp.length - 1]);
return r;
}
}