完美数列

sinat_26854319 2015-10-07 07:09:52
给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列。

现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。

输入描述:
输入第一行给出两个正整数N和p,其中N(<= 105)是输入的正整数的个数,p(<= 109)是给定的参数。第二行给出N个正整数,每个数不超过10^9。


输出描述:
在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。
我的程序如下,运行会超时,如何修改
package list;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class Main11 {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int p = sc.nextInt();
ArrayList<Integer> arry = new ArrayList<Integer>();
for(int i=0;i<num;i++){
arry.add(sc.nextInt());
}
Collections.sort(arry);
int temp=0,temp1=0;
int count=0,count1=0;
for(int i=0;i<arry.size();i++){
temp =arry.get(i);
if(arry.size()-i+1<=count){
break;
}
for(int j=arry.size()-1;j>0;j--){
temp1=arry.get(j);
if(temp1<temp*p){
count1=j-i+1;
}
count=count1>count?count1:count;
}
}
System.out.println(count);

}

}
...全文
66 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧