考试平台: 牛客    考试时间: 2023-10-09 (120 分钟)    考试题型: 选择题 + 2道编程题(核心编程模式)    投递岗位: Java 开发      P1   在一年一度的芭莎明星慈善夜上,组织者邀请了一众国际知名的明星参加。为了能够筹得更多的善款,组织者特地安排了一场名为”凝聚爱心,美育未来”的活动。 每位明星都愿意为慈善事业贡献一定的善款,捐赠金额各不相同。然而,由于一些私人恩怨或者竞争关系,一些明星不愿意与他们不喜欢的明星一起捐款。为了避免尴尬的情况发生,如果明星i捐款,那么他旁边的两位明星i-1 和+1就会拒绝捐款。   由于晚会的座位是围成一个圆圈的,因此第一位明星和最后一位明星会坐在一起即,如果第一位明星捐款,最后一位明星会拒绝捐款:反之亦然   活动组织者希望能够筹集到最大限度的善款,因此他们需要制定一个策略,来决定哪些明星应该捐款。他们聘请了你,作为数据科学家和算法专家,来帮助他们解决这个问题   示例1   输入:[10, 3,2, 5,7,8,11]输出:[23]说明:捐款的明星是第1位、第4位和第6位   示例2   输入:[10, 3, 2, 5, 7, 8]输出:19说明:捐款的明星是第1位、第3位和第5位   备注   输入: 一个整数数组,包含n个元素,元素值为X。其中 .   输出: 最大限度的善款值   题解       动态规划, LCR 090. 打家劫舍 II 原题      /** * P1 * @author code5bug (同v) */class Solution {    public int maximizeDonations(int[] d) {        int n = d.length;        if (n == 0) return 0;        else if (n == 1) return d[0];          // 不选最后一个元素时        int[] arr1 = Arrays.copyOfRange(d, 0, n - 1);        // 不选第一个元素时        int[] arr2 = Arrays.copyOfRange(d            
点赞 2
评论 1
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务