每日两题 / 198. 打家劫舍 74. 搜索二维矩阵(LeetCode热题100)

news2024/11/23 8:59:57

198. 打家劫舍 - 力扣(LeetCode)
image.png

dp[i]表示考虑前i + 1号房屋,能获取的最大金额。对于没一间房屋都有偷与不偷两种选择
如果偷,需要从dp[i - 2]转移,因为不能偷窃相邻房屋,dp[i] = dp[i - 2] + nums[i]
如果不偷,则从dp[i - 1]转移,此时可以偷窃相邻房屋
我们需要从两种选择中,取最大值

class Solution {
public:
#define N 110
    int dp[N];
    int rob(vector<int>& nums) {
        dp[0] = nums[0];
        if (nums.size() > 1) dp[1] = max(dp[0], nums[1]);
        for (int i = 2; i < nums.size(); ++ i) {
            dp[i] = max(dp[i - 1], dp[i - 2] + nums[i]);
        }
        return dp[nums.size() - 1];
    }
};

74. 搜索二维矩阵 - 力扣(LeetCode)
image.png

如果当前行的第一个元素小于等于target并且下一行的第一个元素大于target,那么target只可能存在与当前行

class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int l = 0;
        int n = matrix.size(), m = matrix[0].size();
        while (l < n && matrix[l][0] <= target) l ++ ;
        if (l) l -- ;
        return binary_search(matrix[l].begin(), matrix[l].end(), target);
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1796509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

封装了一个简单理解的iOS竖直文字轮播

效果图 原理 就是持有两个视图&#xff0c;并且两个视图同时改变origin.y 动画结束之后&#xff0c;判断哪个视图是在上面并且看不到的&#xff0c; 则将该视图移动到底部&#xff0c;并且该视图展示下一跳内容 在开始下一轮动画 代码 - (void)startAnimationWithDuration:(…

一文了解如何安全有效的进行PB级别的大数据迁移

在这个信息量爆炸的时代&#xff0c;处理PB级别的数据转移已成为常态&#xff0c;但对企业而言&#xff0c;这仍然是一个充满挑战的任务。今天&#xff0c;我们来探讨一下这个话题&#xff0c;看看在进行PB级数据转移时&#xff0c;需要留意哪些事项&#xff0c;可能会遇到哪些…

STM32远程更新

1 IAP 概述 1.1 工作原理 在应用中编程&#xff08; IAP &#xff09;是一种在现场通过 MCU 的通信接口&#xff08;例如 UART,USB,CAN 和以太网 等&#xff09;进行固件升级的方式。 当启动微控制器时&#xff0c;您可以选择让它进入 IAP 模式以执行 IAP 代码&am…

两个双指针 的 “他“和“ 她“会相遇么? —— “双指针“算法 (Java版)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人能接…

如何掌握 Java 正则表达式 的基本语法及在 Java 中的应用

正则表达式是一种用于匹配字符串的模式&#xff0c;在许多编程语言中广泛使用。Java 正则表达式提供了强大的文本处理能力&#xff0c;能够对字符串进行查找、替换、分割等操作。 一、正则表达式的基本语法 正则表达式由普通字符和特殊字符组成。普通字符包括字母、数字和标点…

第二十七章HTML.CSS综合案例(二)

3.菜单栏 效果图如下&#xff1a; 代码图如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

cnPuTTY 0.81.0.1-JK—PuTTY 0.81中文JK补丁版的简单说明~~

原始补丁网站的链接&#xff1a;PuTTY for win32 storing configuration into file2. 6. 2024 - Update: this modified PuTTY is now based on PuTTY 0.81 (version 0.23.0) 本次官方正式发布的补丁与上一版本的补丁相同&#xff0c;无明显变化。关于JK补丁的信息也可以参考&…

[洛谷] 刷题栈 队列

目录 1.后缀表达式 2.表达式括号匹配 3.表达式求值 4.表达式的转换 5.机器翻译 1.后缀表达式 后缀表达式 - 洛谷 #include<iostream> #include<cstdio> using namespace std;int stk[100]; // 用于存储操作数的栈 int index 0; // 栈顶索引int main() {c…

docker构建java项目镜像

资料参考 参考自黑马教程&#xff1a;10.Docker基础-自定义镜像_哔哩哔哩_bilibili 初步准备 打包好java项目jar包&#xff0c;和Dockerfile文件一起放到指定目录下&#xff0c;后续操作都是在该目录下操作&#xff0c; 我这边是&#xff1a;/usr/local/src/train-ticket/ …

IDEA破解后的配置

以下所有操作都要求进入全局setting而不是某一个项目的setting 进入全局Setting File→close project 进入欢迎页面 低版本 然后点击Setting 关闭自动更新 不关闭有可能会破解失败 Appearance & Behavior->System Settings->Updates下取消Automatically chec…

【网络编程开发】6.UDP通信

6.UDP通信 UDP实现框架 send 函数 原型&#xff1a; #include <sys/socket.h> ssize_t send(int sockfd, const void *buf, size_t len, int flags);功能&#xff1a; send 函数的主要功能是向指定的套接字发送数据。 参数&#xff1a; sockfd&#xff1a;一个有效的套…

【Linux】进程(7):地址空间

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解Linux进程&#xff08;7&#xff09;&#xff1a;地址空间&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 &#xff08;A&#xff09; 直接看代码&…

Leetcode3169. 无需开会的工作日

Every day a Leetcode 题目来源&#xff1a;3169. 无需开会的工作日 解法1&#xff1a;排序 遍历 按 LeetCode56.合并区间 的做法&#xff0c;把 meetings 数组中所有重叠的区间合并起来&#xff0c;再统计其中无需开会的工作日个数。 代码&#xff1a; /** lc appleetco…

学习笔记——路由网络基础——缺省(默认)路由

3、缺省(默认)路由 1、定义 缺省路由(默认路由)&#xff1a;是目的地址和掩码都为全0的特殊路由。全0代表任意网络。缺省路由在路由表中的形式为&#xff1a;0.0.0.0/0缺省路由也被叫默认路由。缺省路由优先级比直连路由低 缺省路由是一种特殊的路由&#xff0c;当报文没有在…

cv2.imwrite路径中存在中文时出现乱码问题

cv2.imwrite(path, img) 在写入包含中文的路径的时候&#xff0c;保存的文件名称为乱码。 解决办法&#xff1a; cv2.imwrite(path,image)将上面的代码修改为以下代码&#xff0c;可以避免出现中文乱码。 cv2.imencode(.jpg, image)[1].tofile(path)

嵌入式Linux系统编程 — 2.2 标准I/O库:检查或复位状态

目录 1 检查或复位状态简介 2 feof()函数 2.1 feof()函数简介 2.2 示例程序 3 ferror()函数 4 clearerr()函数 4.1 clearerr()函数简介 4.2 示例程序 1 检查或复位状态简介 调用 fread() 函数读取数据时&#xff0c;如果返回值小于参数 nmemb 所指定的值&#xff0c;这…

python常见数据分析函数

apply DataFrame.apply(func, axis0, broadcastFalse, rawFalse, reduceNone, args(), **kwds) 第一个参数是函数 可以在Series或DataFrame上执行一个函数 支持对行、列或单个值进行处理 import numpy as np import pandas as pdf lambda x: x.max()-x.min()df pd.DataFrame(…

【数据结构】详解堆的基本结构及其实现

文章目录 前言1.堆的相关概念1.1堆的概念1.2堆的分类1.2.1小根堆1.2.2大根堆 1.3堆的特点堆的实用场景 2.堆的实现2.1初始化2.2插入2.3堆的向上调整2.4删除2.5堆的向下调整2.6判空2.7获取堆顶元素2.8销毁 3.堆排序3.1实现3.2堆排序的时间复杂度问题 前言 在上一篇文章中&#…

【数据库】SQL零基础入门学习

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

如何通过 4 种方式备份和恢复Android联系人

毫无疑问&#xff0c;联系人是Android手机上存储的最重要的信息之一。为了保护这些重要数据&#xff0c;明智的做法是对Android手机进行联系人备份。如果您的手机发生任何情况导致数据丢失&#xff0c;例如被盗、系统崩溃或物理损坏&#xff0c;您可以再次将备份中的联系人恢复…