小米笔试2025/03/12

第一题
import java.util.*;

public class test {

    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int k=in.nextInt();
        int[] a=new int[100005];
        int ai;
        int st=100005,ed=0;
        for(int i=0;i<n;i++){
             ai=in.nextInt();
             a[ai]=1;
             if(i==0) st=ai;
             if(i==n-1) ed=ai;
        }
        int moreDay=k-n,ans=0,kDay=0;
        TreeMap<Integer,Integer> kDayMap=new TreeMap<>();
        for(int i=st-1;i<=ed+1;i++){
            if(a[i]==0&amp;&amp;a[i+1]==1) {
                ans++;
                if(i<=st) continue;
                kDay++;
                if(kDayMap.containsKey(kDay)){
                    kDayMap.put(kDay,kDayMap.get(kDay)+1);
                }else kDayMap.put(kDay,1);
//                System.out.println(&quot;day:&quot;+i+&quot;kDay:&quot;+kDay);
                kDay=0;
            }
            else if(a[i]==1&amp;&amp;a[i+1]==0) {
                ans++;
            }
            else if(a[i]==0) kDay++;
        }

        Set<Integer> kDaySet=kDayMap.keySet();
//        System.out.println(kDaySet+&quot;/&quot;+ans+&quot;/&quot;+moreDay);
        for(int key:kDaySet){
//            System.out.println(key);
//            System.out.println(kDayMap.get(key));
            int value=kDayMap.get(key);
            if(key*value<=moreDay){
                moreDay-=key*value;
                ans-=value*2;
            }else {
                ans-=(moreDay/key)*2;
                moreDay=0;
            }
            if(moreDay==0) break;
//            System.out.println(&quot;key:&quot;+key+&quot; value:&quot;+value+&quot; moreday:&quot;+moreDay+&quot; ans:&quot;+ans);
        }

        System.out.println(ans);
//        System.out.println(moreDay);
//        System.out.println(kDayMap);
        in.close();
    }
}
第二题来不及做
打表#牛客创作赏金赛#
全部评论
点赞 回复 分享
发布于 03-15 12:04 广西

相关推荐

03-12 20:38
湖南科技大学
2025届春招笔试题1-软件开发方向&nbsp;编程第一题```import&nbsp;java.util.ArrayList;import&nbsp;java.util.Comparator;import&nbsp;java.util.List;import&nbsp;java.util.Scanner;/***&nbsp;&nbsp;@author&nbsp;Hertz*&nbsp;&nbsp;@date&nbsp;2025.3.12*&nbsp;*/public&nbsp;class&nbsp;Main&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//接收操作&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;ans=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scanner&nbsp;sc=new&nbsp;Scanner(System.in);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;n=sc.nextInt();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;k=sc.nextInt();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k=k-n;//记录除去好日子剩下的天数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans=n*2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;[]date=new&nbsp;int[n];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i&lt;n;i++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date[i]=sc.nextInt();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//记录好日子之间相隔的天数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;Integer&gt;&nbsp;list=new&nbsp;ArrayList&lt;&gt;();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=1;i&lt;n;i++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(date[i]-date[i-1]-1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.sort(new&nbsp;Comparator&lt;Integer&gt;()&nbsp;{&nbsp;&nbsp;&nbsp;//对记录进行由小到大的排列&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;int&nbsp;compare(Integer&nbsp;o1,&nbsp;Integer&nbsp;o2)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;o1-o2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;j=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//判断剩下天数是否足以度过相隔的天数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(j&lt;list.size()&amp;amp;&amp;amp;k&gt;=list.get(j)){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k-=list.get(j);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans-=2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(ans);&nbsp;&nbsp;&nbsp;&nbsp;}}```纯蒻苟,大佬勿喷#小米##春招##小米笔试#
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务