美团笔试8.10

第一题就是去重+排序

public class SecretKey {
    public static void main(String[] args) {
        Scanner  sc = new Scanner(System.in);
        List<Node> list = new ArrayList<>();
        int n = sc.nextInt();
        String ok = sc.next();
        HashSet<String> set = new HashSet<>();
        for(int i = 0;i<n;i++){
            String str = sc.next();
            if(!set.contains(str)){
                list.add(new Node(str.length(),str));
            }
            set.add(str);
        }
        int sum1 = 0;
        int sum2 = 0;
        list.sort(Comparator.comparingInt(Node::getKey));
        for(int i = 0;i<list.size();i++){
            if(list.get(i).getKey()<ok.length()){
                sum1++;
            }else{
                break;
            }
        }
        for(int i = 0;i<list.size();i++){
            if(list.get(i).getKey()<=ok.length()){
                sum2++;
            }else{
                break;
            }
        }
        System.out.println(sum1+1+" "+sum2);
    }
}
class Node {
    int key;
    String v

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

大学四年面经(学院本) 文章被收录于专栏

大学全部面经从大一到大四,从实习、秋招、春招等等,各种岗位,中小厂,乃至大厂面经! 公粽号:程序员落叶,里面分享全部文章详情。

全部评论
第三题无限循环转化为长度2n的数组,超过了就取模,左右处理思路相同。然后问题变成查询若干个区间种类数,采用离线树状数组解决
2 回复 分享
发布于 2024-08-10 14:50 广东
大佬,能问一下这两个题的题目是什么吗
点赞 回复 分享
发布于 2024-08-17 16:20 黑龙江
好优雅
点赞 回复 分享
发布于 2024-08-10 17:41 上海

相关推荐

08-20 19:20
已编辑
大连理工大学 数据产品
站队站对牛:92优势大的很 年少不知道学习好 工作时 惨不忍睹
点赞 评论 收藏
分享
评论
5
6
分享

创作者周榜

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