【LeetCode】HOT 100(27)

news2024/11/30 0:40:29

题单介绍:

精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。

目录

题单介绍:

题目:338. 比特位计数 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

题目:198. 打家劫舍 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

​编辑一些话 

写在最后:


题目:338. 比特位计数 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    vector<int> countBits(int n) {

    }
};

解题思路:

这道题并不难,

他就是求一下每位二进制1的数量,

然后返回就行,

遍历一遍,然后设计一个求1的数量的方法即可,

代码如下:

代码:

class Solution {
public:
    vector<int> countBits(int n) {
        vector<int> ans; 
        for(int i = 0; i <= n; i++) {
            int res = get(i);
            ans.push_back(res);
        }
        return ans;
    }
private:
    int get(int n) {
        int sum = 0;
        while(n) {
            sum += n & 1;
            n >>= 1;
        }
        return sum;
    }
};

过过过过啦!!!!

题目:198. 打家劫舍 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    int rob(vector<int>& nums) {

    }
};

解题思路:

打家劫舍是一道非常经典的动态规划入门题目,

能非常好的体现动态规划的思想,

这是想学习动态规划必刷的一道题目,

具体思路如下:

状态转移方程是这样的:

如何决定要不要偷这一家人,

max(偷上一家的累计金额,上两家的累计金额 + 当前这一家的金额)

就能求出当前位置偷取金额的最大值,或者说最优解,

代码如下:

代码:

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

过过过过啦!!!!

一些话 

暑假了,我的LeetCode hot100现在刷了有84题了,

再往下刷的收益没有那么大了,

所以我打算开始新的刷题专题,专门花这个暑假来刷一刷动态规划的题目,

而题单的话,我打算去刷剑指Offer的专项突击版本了。

如果之后还有机会,我会把hot100的题目全部刷完。

那么后会有期。

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

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

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

相关文章

【Linux】ELK 企业级日志分析系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 ELK 企业级日志分析系统 ELK 概述1、ELK 简介2、为什么要使用 ELK3、完整日志系统基本特征4、ELK 的工作原理 ELK Elasticsearch 集群部署&#xff08;在Node1、Node2节点上操…

stm32(串口知识点)

HAL串口发送/接收函数&#xff1a; HAL_UART_Transmit(); 串口发送数据&#xff0c;使用超时管理机制HAL_UART_Receive(); 串口接收数据&#xff0c;使用超时管理机制HAL_UART_Transmit_IT(); 串口中断模式发送 HAL_UART_Receive_IT(); 串口中断模式接收 HAL_UART_Transmit(…

ByteBuddy学习笔记

ByteBuddy 1.ByteBuddy的用途 ByteBuddy通过修改字节码来新增、修改、删除Java类的现有功能&#xff0c;主要用于分离功能代码和非功能代码&#xff0c;比如 比如非功能代码如下&#xff1a; public double calculatePrice(){double discount getDiscount();double price …

【python手写算法】利用梯度下降实现线性拟合

利用梯度下降实现线性拟合&#xff0c;效果和sklearn LinearRegression()差不多。 学习率初始设置为0.1结果算高的&#xff0c;直接让我的参数变成了nan。&#xff08;体会到了飞出去的感觉&#xff09; 把学习率调小了之后就正常了 # codingutf-8 import matplotlib.pyplot a…

Android多渠道打包及资源指定

多渠道打包及资源指定 由于项目涉及多个车型&#xff0c;使用的是同一个base代码&#xff0c;不同车型都有差分项&#xff0c;所以需要进行多渠道打包&#xff0c;编译不同的资源进行编译处理 一、多渠道打包方式 productFlavor 背景 Android默认提供了Gradle插件库 class…

协同套件——“ 船 ”新版本

空地协同套件自前段时间推出后&#xff0c;受到了很多开发者的关注&#xff0c;不少开发者均表示对跨域机器人协同工作非常感兴趣&#xff0c;这也加快了我们协同套件的另一块拼图-船机协同的研发进度。近期&#xff0c;我们海空协同套件也顺利完成开发测试&#xff0c;本期将给…

基于炬芯3019 SDK数字助听器平台驱动设计与算法实现

+v hezkz17进数字音频系统答疑裙 1 针对数字助听器进行音频信号处理,达到助听功能的需求分析,使用三种语音处理算法。 三种语音处理算法包括:自动增益控制算法、移频算法以及宽动态范围压缩算法。 通过分析三种算法的基本原理,将算法分别使用MATLAB 进行仿真实现,验证算法…

LRU缓存替换策略及C#实现

LRU缓存替换策略 缓存是一种非常常见的设计&#xff0c;通过将数据缓存到访问速度更快的存储设备中&#xff0c;来提高数据的访问速度&#xff0c;如内存、CPU缓存、硬盘缓存等。 但与缓存的高速相对的是&#xff0c;缓存的成本较高&#xff0c;因此容量往往是有限的&#xf…

sqlite3交叉编译

1、交叉编译sqllite3可以先从官网下载最新最新的源码进行编译。sqlite3下载sqlite3有两种版本的源代码&#xff0c;sqlite-amalgamation-3420000.zip这种是将所有的操作放到sqlite3中进行使用的。虽然官方推荐使用这种方法。但是对于嵌入式移植还是使用sqlite-autoconf-3420000…

23款奔驰GLE450动感型升级柏林之声音响系统,体验不一样的感觉

奔驰GLE450动感型升级柏林之声的音响效果自然非同凡响&#xff0c;在人声、交响乐音乐厅感受方面都有非常逼真的现场感受&#xff0c;结合柏林之声的界面调整&#xff0c;可以在不同方位体验的高保真的音乐之享&#xff01; 小柏林音响总共13个喇叭1台功放由4个高音、4个中音、…

Linux 创建文件的12种方法总结

在Linux中&#xff0c;可以使用多种方法来创建文件。以下是一些常见的方法&#xff1a; 1. touch命令 touch filename&#xff0c;用于创建一个空文件。如果文件已存在&#xff0c;则只更新其访问时间和修改时间。 touch 命令通常用于将文件的访问和修改时间更新为当前时间。…

基于知识蒸馏的去雪、去雾、去雨算法

今天来详细学习一篇去雪、去雨、去雾三合一的去噪算法 代码地址&#xff1a; https://github.com/fingerk28/Two-stage-Knowledge-For-Multiple-Adverse-Weather-Removal 论文地址&#xff1a; https://openaccess.thecvf.com/content/CVPR2022/papers/Chen_Learning_Multiple_…

Python(二):Python简介

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

ELFK——ELK结合filebeat日志分析系统(纵使生活万般磨难,也要笑对生活)

文章目录 一、filebeat二、ELFK1.原理简介 三、部署FilebeatELK1.解压安装2.设置 filebeat 的主配置文件3.启动 filebeat4&#xff0e;在 Logstash 组件所在节点上新建一个 Logstash 配置文件5&#xff0e;测试 一、filebeat Filebeat&#xff0c;轻量级的开源日志文件数据搜集…

高精度电流源怎么用

高精度电流源是一种用于产生高精度、高稳定性和低噪声的直流或交流电流信号的设备。它主要应用于各种实验和测试领域&#xff0c;例如半导体器件测试、传感器校准、精密测量和医疗检测等。高精度电流源的作用是提供可靠的电流输出信号&#xff0c;在实验和测试中获得精确和准确…

聚焦地下停车场污染死角|气体检测仪让您一目了然

由于地下停车场属于封闭式或半封闭式建筑&#xff0c;近年来越来越多高端住宅、办公楼宇的物业管理者收到投诉反应地下停车场的空气质量差的问题。那么地下空气污染有哪些呢&#xff1f; 根据空气监测工程师的检测表明&#xff0c;与地面不同&#xff0c;地下停车场的汽车起动…

一次元数据空间内存溢出的排查记录 | 京东云技术团队

在应用中&#xff0c;我们使用的 SpringData ES的 ElasticsearchRestTemplate来做查询&#xff0c;使用方式不对&#xff0c;导致每次ES查询时都新实例化了一个查询对象&#xff0c;会加载相关类到元数据中。最终长时间运行后元数据出现内存溢出&#xff1b; 问题原因&#xf…

vue 动态引入图片地址的方法

我们直接使用 v-bind 的方式导入无法正常导入 <image :src"item.src" alt""/> 是因为 页面显示为htmlcssjs而vue变成我们可以看到的样子是需要打包变成htmlcssjs的&#xff0c; 在打包过程中将item.src的变量 取出变成/image/icon.svg只是 将地址…

集中式自动抄表系统原理与应用

集中式自动抄表系统是一种自动采集电表、水表、气表等计量数据的系统&#xff0c;其原理是通过一定的通信方式&#xff0c;将计量数据从表端传输到数据采集器&#xff0c;再由数据采集器上传至云端或后台处理系统&#xff0c;从而实现对表数据的自动采集、统计和分析。 集中式…

机器学习之随机森林(Random forest)

1 什么是随机森林 随机森林是一种监督式算法&#xff0c;使用由众多决策树组成的一种集成学习方法&#xff0c;输出是对问题最佳答案的共识。随机森林可用于分类或回归&#xff0c;是一种主流的集成学习算法。 1.1 随机森林算法原理 随机森林中有许多的分类树。我们要将一个输…