Java | Leetcode Java题解之第213题打家劫舍II

news/2024/7/8 6:22:01 标签: Java, Leetcode, 题解

题目:

题解

class Solution {
    public int rob(int[] nums) {
        int length = nums.length;
        if (length == 1) {
            return nums[0];
        } else if (length == 2) {
            return Math.max(nums[0], nums[1]);
        }
        return Math.max(robRange(nums, 0, length - 2), robRange(nums, 1, length - 1));
    }

    public int robRange(int[] nums, int start, int end) {
        int first = nums[start], second = Math.max(nums[start], nums[start + 1]);
        for (int i = start + 2; i <= end; i++) {
            int temp = second;
            second = Math.max(first + nums[i], second);
            first = temp;
        }
        return second;
    }
}

http://www.niftyadmin.cn/n/5536692.html

相关文章

开发者工具攻略:前端测试的极简指南

前言 许多人存在一个常见的误区&#xff0c;认为测试只是测试工程师的工作。实际上&#xff0c;测试是整个开发团队的责任&#xff0c;每个人都应该参与到测试过程中。 在这篇博客我尽量通俗一点地讲讲我们前端开发过程中&#xff0c;该如何去测试 浏览器开发者工具简介 开…

探索企业知识边界,鸿翼ECM AI助手开启智慧问答新时代

在信息化迅速发展的当下&#xff0c;企业积累的数字文档数量巨大&#xff0c;这些文档中蕴含的深层信息对业务发展至关重要。然而&#xff0c;传统的搜索技术常常因只能进行关键字查询而无法满足对文档深层次理解的需求。 据Gartner调查&#xff0c;高达47%的员工在寻找有效工…

Java中多线程开发减少线程上下文切换开销

使用线程池&#xff1a; 创建和销毁线程是有代价的&#xff0c;线程池可以重用已存在的线程&#xff0c;减少这种开销。合理设置线程池的大小&#xff0c;避免线程过多导致频繁的上下文切换。减少锁竞争&#xff1a; 锁是引起上下文切换的主要原因之一。尽量减少锁的使用&#…

《数据仓库与数据挖掘》自测

试卷一 一、选择题&#xff08;每题2分&#xff0c;共20分&#xff09; 1. 数据仓库的主要特征不包括以下哪一项&#xff1f; A. 数据量大 B. 异构数据整合 C. 事务处理 D. 支持决策分析 2. OLAP的核心功能是&#xff1a; A. 事务处理 B. 多维数据分析 C. 数据清洗 D. 数据转…

AI学习指南机器学习篇-随机森林模型评估

AI学习指南机器学习篇-随机森林模型评估 随机森林是一种强大且灵活的机器学习模型&#xff0c;通常用于解决分类和回归问题。在应用随机森林模型时&#xff0c;评估模型的性能是至关重要的。本文将讨论随机森林模型的评估指标&#xff0c;如准确率、均方误差等&#xff0c;以及…

香橙派AIpro做目标检测

使用香橙派AIpro做目标检测 文章目录 使用香橙派AIpro做目标检测香橙派AIpro开发板介绍香橙派AIpro应用体验快速体验香橙派的AI功能YOLOV5s目标检测使用场景描述图像目标检测视频目标检测摄像头目标检测YOLOv5s 目标检测的运行结果分析香橙派 AIpro 在运行过程中的表现 香橙派A…

【深度学习】pytorch训练中的一个大坑

使用的命令&#xff1a;iostat -x 5 可以看到 ssd的利用率已经满了。 之前在的数据集放在了 hdd上&#xff0c;训练结果特别慢。 所以我把它移动到了ssd上&#xff0c;然后训练参数用的 resume&#xff0c; 但是&#xff01;&#xff01;&#xff01;&#xff01;它把历史记住…

JAVA学习笔记-JAVA基础语法-DAY24-Stream流、方法引用

第一章 Stream流 说到Stream便容易想到I/O Stream&#xff0c;而实际上&#xff0c;谁规定“流”就一定是“IO流”呢&#xff1f;在Java 8中&#xff0c;得益于Lambda所带来的函数式编程&#xff0c;引入了一个全新的Stream概念&#xff0c;用于解决已有集合类库既有的弊端。 …