猿辅导java第一题这么做有没有问题啊?

package test1;

import java.util.*;

public class test1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();
        Map arr=new LinkedHashMap<Integer,Integer>();
        List l = new ArrayList<Integer>();
        for(int i = 0;i<n;i++){
            int key = in.nextInt();
            if(l.contains(key)){
                continue;
            }else if(!arr.containsKey(key)){
                arr.put(key,1);
            }else if(arr.containsKey(key) && (int)arr.get(key) < m){
                int num = (int)arr.get(key);
                arr.put(key,num+1);
            }else if(arr.containsKey(key) && (int)arr.get(key) >= m){
                arr.remove(key);
                l.add(key);
            }
        }
        Iterator iter = arr.entrySet().iterator();
        while(iter.hasNext()) {
        	Map.Entry entry = (Map.Entry) iter.next();
            for(int i = 0;i<(int)entry.getValue();i++){
                System.out.print(entry.getKey() + " ");
            }
        }
	}
}

快交卷了,没测,大佬们看看,这样的输出有问题吗?会不会有顺序问题啥的?我咋感觉做复杂了。
#猿辅导##笔试题目##Java#
全部评论
确实复杂了hashmap存完之后 直接遍历原数组 判断符不符合条件不就行了?
点赞 回复
分享
发布于 2019-08-24 17:44

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务