10.9 奇安信笔试

第一题 打家劫舍 力扣链接

class Solution {
    //打家劫舍的变种问题分析理解
    public int rob(int[] nums) {
        //数组的快速复制的api
        if(nums.length == 0 )return 0;
        if(nums.length == 1 )return nums[0];
	    //开头与结尾不能同时取,分成[0,倒数第二位]:包含第一位,可以不取  [1,最后一位]:包含最后一位,可以不取
        int m = robhelp(Arrays.copyOfRange(nums,0,nums.length-1));
        int n = robhelp(Arrays.copyOfRange(nums,1,nums.length));
        return Math.max(m,n);
    }

     //对于动态规划算法的复习分析
    public int robhelp(int[] nums) {
        int m = nums.length;
        //dp[i] 是当前能偷到的max
        int[] dp = new int[m+1];
        dp[1] = nums[0];
        for(int i =2;i<=m;i++){
		    //当前位置偷:dp[i-2]+nums[i-1]  不偷:dp[i-1]
            dp[i] = Math.max(dp[i-2]+nums[i-1],dp[i-1]);
        }
        return dp[m];
    }
}

第二题:前缀和考察(可以暴力写)

题目大概:数组元素只有1,0, 0代表消费一个金币,1代表获取一个金币,确保这个数组遍历过后,整个过程是合法(金额不为负数)

public class Main {
//    前缀和对应的考察分析

    public boolean CheckGameResource (int[] sequence) {
        // write code here
        int res = 0;
        int n = sequence.length;
        int ans = 0;
        int[] a = new int[n];
        int bns = 0;
        int[] b = new int[n];
        for (int i = 0; i < n; i++) {
            if (sequence[i] == 1) {
                ans++;
            }else {
                bns++;
            }
            a[i]=ans;
            b[i]=bns;
            if (a[i]<b[i]) {
                return false;
             }
        }
        if(a[n-1]!=b[n-1]) {
            return false;
        }
        return true;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
2024-11-28 21:54
#牛客创作赏金赛#&nbsp;从某地离职一段时间了,终于逃离了那个令我每天压力暴增的地方。一面的时候就觉得面试官面相不太好,言语中充满着来自大厂的优越感,且在面试过程中不断的否定我,面完后确又马上推进了二面,一开始我愿意相信这是压力面,现在的我确信是相由心生。入职第一天,上午在另外的工区入职培训,中午来工区正好遇上午休,到了工位正好坐+1旁边,见到面只说了一声来了啊,然后就各自休息了,第一天下午就开始干活了,当天九点下班。后面给我分配了写技术文档,我不知道大厂的员工是不是都是nt,让一个实习生来写设计指南文档,我真写了谁会参照一个实习生写的设计文档呢?在这写文档的一个月中,问+1技术问题,我只记住了“怎么这你也不会”“我要跟你说了我为什么不自己写?”“你自己查查吧”,不教我的同时又给我下ddl,让我每天写日报,写产出,入职半个月,每天都是9点下班,终于有一天我八点走了,回家的路上给我发消息,让我自己给自己排时间表,东西月底要交给他……躺在北京3k5但10平米的70年代筒子楼,有时候真觉得这辈子完了。问+1得不到技术上的解答,他每天也不跟我一块吃饭,除了必要的分配任务,逐渐我一句话都不跟他说了,见面也不打招呼。后面又给我分配了一些烂活,我开始不想加班了,终于找我谈话了,pua我说之前的实习生每天都是10点下班,我说我不转正,我每天到九点已经够了吧,遂沟通了一些工作中很不爽的问题,然而我以为我们的关系会变好,然而并没有……后面也摆烂了,基本七八点就走了,有机会就去别的地方办公,不想看到那张脸。终于在来北京三个月的时间点,我选择离职了,离职前一天安全审查,在面试间里把我当犯人审了一遍,当天回家静坐在桌上两小时久久没有缓过来,想着已经要离职了好聚好散吧,最后一天交接完电脑和工牌,还要我下午待在公司,实在难以接受和恶心的人在待在一个空间,遂请假半天,终于离开了。大厂的部分人自带优越感和学历歧视,来这里我只认识到了一件事:遇到不对调的领导,不要尝试去改变他,不要尝试去攻略他,唯一的路只有忍着然后选择合适的机会逃离。这里只适合那些本身就很厉害的人,抗压能力很强的人来赚钱。
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

更多
牛客网
牛客企业服务