搜狐笔试编程题题解

今天题目略简单,所以暴力也不会出现超时问题
1.系统设计
import java.util.HashMap;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        HashMap<Integer, Integer> hMap=new HashMap<>();
        HashMap<Integer, Integer> hMap1=new HashMap<>();
        for(int i=0;i<n;i++)
        {
            int flag=scanner.nextInt();
            if(flag==1)
            {
                int start=scanner.nextInt();
                int end=scanner.nextInt();
                int value=scanner.nextInt();
                for(int j=start;j<=end;j++)
                {
                    if(hMap.containsKey(j))
                        hMap.put(j, Math.max(value, hMap.get(j)));
                    else
                        hMap.put(j, value);
                }
                
            }
            if(flag==2)
            {
                int day=scanner.nextInt();
                int addvalue=scanner.nextInt();
                if(hMap1.containsKey(day))
                    hMap1.put(day, Math.max(addvalue, hMap1.get(day)));
                else
                    hMap1.put(day, addvalue);
            }
        }
        Object[] perDay=hMap.values().toArray();
        Object[] work=hMap1.values().toArray();
        int ans=0;
        for(int i=0;i<perDay.length;i++)
            ans+=(int)perDay[i];
        for(int i=0;i<work.length;i++)
            ans+=(int)work[i];
        System.out.println(ans);
        

    }

}
2.查找k个最小值
import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        int k=scanner.nextInt();
        int[] res=new int[n];
        for(int i=0;i<n;i++)
        {
            res[i]=scanner.nextInt();
        }
        Arrays.sort(res);
        StringBuffer sBuffer=new StringBuffer();
        for(int i=0;i<k-1;i++)
            sBuffer.append(res[i]+",");
        sBuffer.append(res[k-1]);
        System.out.println(sBuffer.toString());

    }

}

#实习#
全部评论

相关推荐

半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
点赞
8
分享

创作者周榜

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