编程随记:有整型数组a[],中间有连续递增的子数组,现在要求把原来数组中每个递增部分组成一个新的数组
2017-05-19 09:55
525 查看
import java.util.ArrayList;
import java.util.Arrays;
public class Main4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Main4 ma=new Main4();
int[] b={0,2,3,5,7,4,8,9,10};//随便假设一个整型数组
System.out.println(Arrays.deepToString(ma.method(b)));
}
public int[][] method(int[] a)
{
int j=0;
int count=0;
int n=0;
ArrayList<Integer> l=new ArrayList<Integer>();
for (int i=0;i<a.length-1;i++)
{
if (a[i]<a[i+1])
{
j++;
}
else
{
j++;
l.add(j);
count++;
j=0;
}
}
count++;
if(j==0)
{
l.add(1);
}
else
{
j++;
l.add(j);
}
int[][] b=new int[count][];
for (int m=0;m<count;m++)
{
b[m]=new int[l.get(m)];
for (int y=0;y<l.get(m);y++)
{
b[m][y]=a
;
n++;
}
}
return b;
}
}
import java.util.Arrays;
public class Main4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Main4 ma=new Main4();
int[] b={0,2,3,5,7,4,8,9,10};//随便假设一个整型数组
System.out.println(Arrays.deepToString(ma.method(b)));
}
public int[][] method(int[] a)
{
int j=0;
int count=0;
int n=0;
ArrayList<Integer> l=new ArrayList<Integer>();
for (int i=0;i<a.length-1;i++)
{
if (a[i]<a[i+1])
{
j++;
}
else
{
j++;
l.add(j);
count++;
j=0;
}
}
count++;
if(j==0)
{
l.add(1);
}
else
{
j++;
l.add(j);
}
int[][] b=new int[count][];
for (int m=0;m<count;m++)
{
b[m]=new int[l.get(m)];
for (int y=0;y<l.get(m);y++)
{
b[m][y]=a
;
n++;
}
}
return b;
}
}
相关文章推荐
- 题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个 子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n)。
- 一个字符数组,里面的字符可能是a-z、A-Z、0-9.现在要求对数组进行排序,要求所有小写字符放在最前面,所有大写字符放在中间,所有数字放在最后,而且各部分内部分别有序(创新工场)
- 一个字符数组,里面的字符可能是a-z、A-Z、0-9.现在要求对数组进行排序,要求所有小写字符放在最前面,所有大写字符放在中间,所有数字放在最后,而且各部分内部分别有序。
- 一个字符数组,里面的字符可能是a-z、A-Z、0-9.现在要求对数组进行排序,要求所有小写字符放在最前面,所有大写字符放在中间,所有数字放在最后,而且各部分内部分别有序(创新工场)
- 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个 子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。
- 有一个已经排序号的数组。现在输入一个数,要求按原来的规律将它插入数组中。
- 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(2,4,6,8,10,…),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值
- java实现百度之C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行
- Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义
- 五十道编程小题目 --- 30 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 java
- C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式?
- 一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和,求所有子数组的和的最大值,要求时间复杂度为O(n)。
- 设一个长度为10的整型数组, 0)要求每个元素的值通过scanf输入,输入完成后, 1)请顺序输出这些整数, 2)请倒序输出这些整数, 3)输出这些数中的最大值, 4)输出这些数中的最小值
- 【1】 设一个长度为10的整型数组,  0)要求每个元素的值通过scanf输入,输入完成后,  1)请顺序输出这些整数,  2)请倒序输出这些整数,  3)输出这些数中的最大值,最小值
- 17、有一个由大小写组成的字符串,现在需要对他进行修改, 将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序)
- 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中
- 将一个数组中的值按逆序重新存放。例如:原来是6,5,4,3,2,1,要求改为1,2,3,4,5,6
- 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所 有偶数位于数组的后半部分。要求时间复杂度为O(n)。
- 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
- 用C++写一个布尔函数 该函数获取一个以0或1为原始的数值A[n](n≥1),并要求确定每个连续为1的序列的大小是否为偶数