原题链接:蓝桥杯算法提高VIP-幸运顾客
解题思路:
注意事项:
参考代码:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class 幸运顾客 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*题目 1982: [蓝桥杯][算法提高VIP]幸运顾客
时间限制: 1Sec 内存限制: 128MB 提交: 114 解决: 85
题目描述
为了吸引更多的顾客,某商场决定推行有奖抽彩活动。“本商场每日将产生一名幸运顾客,凡购买30元以上商品者均有机会获得本商场提供的一份精美礼品。”该商场的幸运顾客产生方式十分奇特:每位顾客可至抽奖台抽取一个幸运号码,该商场在抽奖活动推出的第i天将从所有顾客中(包括不在本日购物满30元者)挑出幸运号第i小的顾客作为当日的幸运顾客。该商场的商品本就价廉物美,自从有奖活动推出后,顾客更是络绎不绝,因此急需你编写一个程序,为他解决幸运顾客的产生问题。
输入
第1行一个整数N,表示命令数。
第2~N+1行,每行一个数,表示命令。如果x>=0,表示有一顾客抽取了号码x;如果x=-1,表示傍晚抽取该日的幸运号码。
输出
对应各命令-1输出幸运号码;每行一个号码。(两个相同的幸运号看作两个号码)
样例输入
6
3
4
-1
-1
3
-1
样例输出
3
4
4*/
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
ArrayList<Integer> arrayList=new ArrayList<Integer>();
int arr[]=new int[n];
for (int i = 0; i <n; i++) {
int number=scanner.nextInt();
if (number>=0) {
arr[i]=number;
}
else if(number==-1&&i!=0){
arr[i]=arr[i-1];
arrayList.add(arr[i]);
}
}
Collections.sort(arrayList);
for (int i : arrayList) {
System.out.println(i);
}
}
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复