java 连续数字数组分组
问题: 1. 将Lis list = Arrays.asList(1,2,3,5,8,9,10), 拆分成 [1,2,3] 、[5]、 [8,9,10] ,
2. 再传入一个数字 9, 将匹配数字9的数组输出来 ?
/**
* 将 int [1,2,3,5,8,9,10] 连续的分组成[1,2,3]、[5]、[8,9,10]
* 再传入9 ,匹配上面的分组取出 [9,10]
* @param NoNum 传入的整形数组
* @param charct 传入匹配的数字
* @return 返回含有匹配数字的数组
*/
public String convert(List<Integer> NoNum, int charct) {
int state = 0;
String result = "";
for (int i = 0; i < NoNum.size(); i++)
{
if (i == NoNum.size() - 1){
state = 2;
}
if (state == 0)
{
if (NoNum.get(i + 1) == NoNum.get(i) + 1)
{
result += Integer.toString(NoNum.get(i));
result += "-";
state = 1;
}
else
{
result += Integer.toString(NoNum.get(i));
result += ",";
}
}
else if (state == 1)
{
if (NoNum.get(i + 1) != NoNum.get(i) + 1)
{
result += Integer.toString(NoNum.get(i));
result += ",";
state = 0;
} else {
result += NoNum.get(i)+"-";
}
}
else
{
result += Integer.toString(NoNum.get(i));
}
}
String [] str = result.split(",");
for ( int stritem = 0 ; stritem < str.length ; stritem++ ) {
String [] sp = str[stritem].split("-");
List<String> tt = Arrays.asList(sp);
if ( tt.contains( charct+"")) {
result = str[stritem].replace("-",",");
}
}
return result;
}
java 连续数字数组分组的更多相关文章
- 找出数组中最长的连续数字序列(JavaScript实现)
原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: functi ...
- Java课程课后作业190315之从文档中读取随机数并得到最大连续子数组
从我上一篇随笔中,我们可以得到最大连续子数组. 按照要求,我们需要从TXT文档中读取随机数,那在此之前,我们需要在程序中写入随机数 import java.io.File; import java.i ...
- 【JAVA零基础入门系列】Day10 Java中的数组
什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...
- LeetCode 581. Shortest Unsorted Continuous Subarray (最短无序连续子数组)
Given an integer array, you need to find one continuous subarray that if you only sort this subarray ...
- Java学习之路(三):Java中的数组
数组的概述和定义的格式 数组的作用: 用来存储同种数据类型的多个值 数组的基本概念: 数组是存储同一种数据类型多个元素的集合.就相当于一个容器. 注意:数组既可以存储基本数据类型,也可以存储引用数据类 ...
- js-FCC算法Smallest Common Multiple。找出两个参数和它们之间的连续数字的最小公倍数。
存档. 找出能被两个给定参数和它们之间的连续数字整除的最小公倍数. function smallestCommons(arr) { //分解质因数法,分解为若干个质数相乘 var arrratio=[ ...
- 编程算法 - 数字数组中只出现一次 代码(C)
数字数组中只出现一次 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 一个整型数组里除了两个数字以外, 其它的数字都出现了两次. 请敲代码找出这 ...
- JAVA二维数组的复制
JAVA二维数组的复制 笔者今天做一道ccf题目时,遇到要将二维数组拷贝复制时,没有用常规的那种一个一个数的复制,用的是System.arraycopy()来进行复制,下面介绍这个函数的一些注意点: ...
- [LeetCode] Shortest Unsorted Continuous Subarray 最短无序连续子数组
Given an integer array, you need to find one continuous subarray that if you only sort this subarray ...
随机推荐
- python接口测试(post,get)-传参(data和json之间的区别)
python接口测试如何正确传参: POST 传data:data是python字典格式:传参data=json.dumps(data)是字符串类型传参 #!/usr/bin/env python3 ...
- [VB.NET Tips]再谈字符串连接之内置池
CLR自动维护一个称为"内置池"(暂存池)(intern pool)的表,在编译时此表包含程序中声明的每个唯一的字符串常量的单个实例,以及以编程方式创建的String类的任何唯一实 ...
- airflow的安装
1.环境准备1.1 安装环境1.2 创建用户2.安装airflow2.1 安装python2.2 安装pip2.3 安装数据库2.4 安装airflow2.4.1 安装主模块2.4.2 安装数据库模块 ...
- Centos利用脚本自动安装jdk
在工作中还有自己的学习中,无论是使用tar包安装jdk,还是使用rpm安装,如果单台机器还能够接受,但是如果多台机器,就很困扰.所以,在自己配置环境的时候,根据网上各位前辈,沉淀了这样子一个脚 ...
- 实战SpringCloud响应式微服务系列教程(第六章)
本章节介绍:Flux和Mono操作符 和其他主流的响应式编程一样,Reactor框架的设计目标也是为了简化相应式流的使用方法.为此Reactor框架提供了大量操作符用于操作Flux和Mono对象. 本 ...
- jstl.jar下载地址
下载地址: 链接:https://pan.baidu.com/s/15_B1QLelWOvTGdC7BoAp4A 密码:vmdr
- 【JVM 知识体系框架总结】
JVM 内存分布 线程共享数据区: 方法区->类信息,静态变量 堆->数组对象 线程隔离区 虚拟机栈-> 方法 本地方法栈->本地方法库 native 堆.程序计数器 JVM ...
- Two progressions CodeForce 125D 思维题
An arithmetic progression is such a non-empty sequence of numbers where the difference between any t ...
- 遇见Python
开发: 开发语言: 1.高级语言:Python Java.PHP C# Go ruby C++... ===> 字节码 2.低级语言:C.汇编 ...
- FTP协议的主动模式和被动模式的区别
最近准备做一个<FtpCopy系列教程>,主要讲解Ftp协议主动模式和被动模式的区别.以及FTP服务器的安装部署,然后通过几个常用实例演示,详细讲解如何使用FtpCopy进行数据自动备份. ...