9.1深信服开发岗笔试

C++岗,但是只会Java,C++选择填空看不懂。做的不好。。看运气了。。
算法最后一题比较难,没时间做了

1.数组前两个数比较,求最大的。然后依次往后比较,求连续k轮胜出的元素。
public class Q1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        String[] arr = str.split(" ");
        long[] nums = new long[arr.length - 1];
        for(int i = 0;i < nums.length;i++){
            nums[i] = Long.parseLong(arr[i]);
        }
        int k = Integer.parseInt(arr[arr.length - 1]);
        long maxVal = nums[0];
        Map<Long,Integer> map = new HashMap<>();
        for(int i = 1;i < nums.length;i++){


             maxVal = Math.max(maxVal,nums[i]);
            map.put(maxVal,map.getOrDefault(maxVal,0) + 1);
        }
        if(k >= nums.length){
            long m = getMax(nums);
            System.out.println(m);
        }else if(k < nums.length){
            Set<Long> set = map.keySet();
            for(long se:set){
                int val = map.get(se);
                if(val >= k){
                    System.out.print(se);
                }
            }
        }
    }
    public static long getMax(long[] nums){
        long max = nums[0];
        for(long num : nums){
            if(max < num){
                max = num;
            }
        }
        return max;
    }

}
2.求数组中最长的连续子序列。
import java.util.*;
public class Q5 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        long[] nums = new long[n];
        for(int i = 0;i < nums.length;i++){
            nums[i] = scan.nextLong();
        }
        Arrays.sort(nums);
        Set<Long> set = new HashSet<>();
        for(long num:nums){
            set.add(num);
        }

        long count = 0;
        for(long num : set){
            if(!set.contains(num - 1)){
                long current = num;
                while(set.contains(current + 1)){
                    current ++;
                }
                count = Math.max(count,current - num + 1);
            }
        }
        System.out.println(count);
    }
}



#深信服笔试题#
全部评论
第二题直接sort,应该不行吧,我试了只能过30好像
点赞 回复 分享
发布于 2022-09-04 14:39 河南
第一题用链表可以吗
点赞 回复 分享
发布于 2022-09-01 22:21 北京
第二问暴力60%,其他两个ac了,不知道能不能过,选择题还好,填空题有两个不确定😂
点赞 回复 分享
发布于 2022-09-01 21:58 湖北
我没参加,这是群里其他老哥拍的照片,我写了下,让其他大佬看了下,说是没问题
点赞 回复 分享
发布于 2022-09-01 21:28 浙江
老哥,第一题双向链表模拟可以出来吗?
点赞 回复 分享
发布于 2022-09-01 21:19 浙江
贴下第三题
点赞 回复 分享
发布于 2022-09-01 21:18 浙江

相关推荐

头像 会员标识
10-01 22:53
中南大学 C++
📍面试公司:深信服🕐面试时间:9.28💻面试岗位:ai&nbsp;应用开发❓面试问题:1.询问机试感受2.目标北京,深圳可以接受吗(接受意愿很低)3.询问高中noip情况4.询问本科acm情况5.如何衡量自己学习和竞赛之间的投入6.本科专业(非科班)7.高考原因,高中作息8.是不是抗压比较差(我现在抗压可强了)9.本科的项目有吗10.是保研吗?为什么选择这个专业(非科班)11.询问课题组情况(我们课题组非常坑)12.目前论文情况13.研究生期间出差都干什么14.你做的方向很多,为什么?(我被导师换了4次方向,大四就被骗进组了)15.让我详细讲一下和导师之间的交流(里面老师很多操作不可理喻,我尽量的去跟老师争取)16.为什么会出现这种问题(整个课题组都非常抽象,解释了好久)17.你是怎么确定自己的研究方向的(讲了自我救赎的过程)18.暑期实习的offer?19.你为啥不投算法(你们给我统一改的啊)20.讲一下ai&nbsp;coding,平常用吗?21.前两个面试官不会&nbsp;ai&nbsp;infra,可能后面要加5面22.为什么不实习转正(导师追的紧啊)23.你们实验室其他同学能找到工作吗24.你有其他offer吗,大约薪资多少,你期望薪资多少🙌面试感想:怎么感觉比技术面还压力,因为线下,问的太碎了,很多都记不起来了,面了近50分钟一直问我们课题组,我已经不想回忆这个痛苦的记忆了(提前一年进组,导师没有任何指导,组内没有博士按时毕业,还有一位博8的师兄,我也被导师pua抑郁了,吃了一年多的药了。前两天还把我叫过去,说我们去企业就是浪费人才,想让我留在课题组帮忙管理电脑????被我直接回绝了)
查看23道真题和解析
点赞 评论 收藏
分享
评论
1
16
分享

创作者周榜

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