广联达 7.29笔试-第二题分享

题目描述:选择数组最小的一个重复值,删除该重复值,将它后面的值加*2,并向前移动,数组长度-1 输入1:5  2 2 1 1 1 输出1:4 2 1 输入2:5  5 5 5 5 4 输出2:20 4
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static void main(String []args){
        /*
        输入数据
         */
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        int []arr=new int [n];
        for(int i=0;i<n;i++){
            arr[i]=scan.nextInt();
        }
        int len=arr.length;
        HashMap<Integer,Integer>map=new HashMap<>();//记录重复数据
        int j=1;
        boolean b=true;
        while(b){
            map.clear();
            /*
            将重复数据加入map中
             */
            for (int i = 0; i < len - 1; i++) {
                if (arr[i] != arr[i + 1]) {
                    continue;
                } else {
                    if (!map.containsValue(arr[i])) {
                        map.put(j, arr[i]);
                        j++;
                    }
                }
            }
            /*
            当map存有数据时,取最小的值
             */
            if (map.size()!=0){
                int min = map.get(1);
                for (int i = 1; i <=map.size(); i++) {
                    if (min > map.get(i)) {
                    min = map.get(i);
                }
            }
                for (int i = 0; i < len-1; i++) {
                    if (arr[i] == min) {
                        arr[i + 1] = 2 * arr[i + 1];
                        for (int k = i; k < len-1 ; k++) {
                            arr[k] = arr[k + 1];
                        }
                        len=len-1;
                        j=1;
                        break;
                    }
                }
            }else{
                b=false;
            }
        }
        for(int i=0;i<len;i++){
            System.out.println(arr[i]);
        }
    }
}


#广联达##笔试题目#
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-24 13:39
在记录秋招的大魔王很...:别被忽悠了,我做了多年销售。我可以告诉你,这就是忽悠你的,销售一定要看底薪也要看提成两者不可缺一。提成是有业绩的时候才拿的到的,谁能保证一直有单状态都好。销售有时候很讲究运气的。底薪是你这个人这个岗位日常工作体现的价值。别小看底薪,你看那些跳槽去做经理主管的,底薪底一些,人家愿意去吗?所以那些说销售靠提成的纯属忽悠,除非他们的业务很容易成单。
点赞 评论 收藏
分享
盖茨伯爵:一样兄弟,我从4月开始发到现在了,都三四百个了
无实习如何秋招上岸
点赞 评论 收藏
分享
06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务