小米笔试

第一题,偏好字符

把所有偏好字符按照顺序把下标存起来,然后遍历字符串,不是偏好字符的用upper_bound找最近的大于该下标位置r_pos,然后r_pos-1就是左边最近的偏好字符,注意判断左右越界就ok了。

第二题, 消消乐,

区间DP,n=300,一看题判断复杂度n3方,开始推DP,DP[i][j] 表示i~j位置最大得分
全部评论
太强了
3 回复 分享
发布于 2024-03-12 21:33 广东
tql
1 回复 分享
发布于 2024-03-12 21:58 广东
1 回复 分享
发布于 2024-03-12 21:20 福建
佬,进面了吗
点赞 回复 分享
发布于 2024-03-18 17:08 广东
想问问那个消消乐那题,leetcode上有没有类似的对应的
点赞 回复 分享
发布于 2024-03-15 18:17 广东
佬,我两道都寄
点赞 回复 分享
发布于 2024-03-13 16:09 安徽
为啥”偏好字符“,我的老是只有85%
点赞 回复 分享
发布于 2024-03-13 10:38 广东
点赞 回复 分享
发布于 2024-03-13 09:09 浙江
能蹲到佬的一个python版本嘛?
点赞 回复 分享
发布于 2024-03-13 01:56 广东
强~
点赞 回复 分享
发布于 2024-03-12 21:58 河南
点赞 回复 分享
发布于 2024-03-12 21:27 上海

相关推荐

不愿透露姓名的神秘牛友
03-15 11:40
已编辑
xxx xxx 0 硕士985
点赞 评论 收藏
分享
第一题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&&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("day:"+i+"kDay:"+kDay);                kDay=0;            }            else if(a[i]==1&&a[i+1]==0) {                ans++;            }            else if(a[i]==0) kDay++;        }        Set<Integer> kDaySet=kDayMap.keySet();//        System.out.println(kDaySet+"/"+ans+"/"+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("key:"+key+" value:"+value+" moreday:"+moreDay+" ans:"+ans);        }        System.out.println(ans);//        System.out.println(moreDay);//        System.out.println(kDayMap);        in.close();    }}第二题来不及做打表#牛客创作赏金赛#
查看2道真题和解析 投递小米集团等公司10个岗位 牛客创作赏金赛
点赞 评论 收藏
分享
许愿顺顺利利
牛客740257869号:两个百分之18 hh
点赞 评论 收藏
分享
评论
32
34
分享

创作者周榜

更多
牛客网
牛客企业服务