Leetcode刷题笔记--Hot91--100
1--汉明距离(461)

主要思路:
按位异或,统计1的个数;
#include <iostream>
#include <vector>class Solution {
public:int hammingDistance(int x, int y) {int z = x ^ y; // 按位异或int res = 0;while(z){if((z % 2) == 1) res++;z = z >> 1; // 右移}return res;}
};int main(int argc, char* argv[]){// x = 1, y = 4int x = 1, y = 4;Solution S1;int res = S1.hammingDistance(x, y);std::cout << res << std::endl;return 0;
}
2--目标和

主要思路:
主要思路:
转化为 0-1 背包问题,一部分数值连同 target 转化为背包容量,剩余一部分数值转化为物品,求解恰好装满背包容量的方法数;dp[j] 表示背包容量为 j 时,装满背包的方法数;
状态转移方程:dp[j] += dp[j - nums[i]],其实质是:当背包已经装了nums[i]时,剩余容量为 j - nums[i],此时装满剩余容量的方法数为 dp[j - nums[i]],遍历不同的 nums[i] 将方法数相加即可;
是有点难理解。。。
#include <iostream>
#include <vector>class Solution {
public:int findTargetSumWays(std::vector<int>& nums, int target) {int sum = 0;for(int num : nums) sum += num;if(sum < std::abs(target)) return 0; // 数组全部元素相加相减都不能构成targetif((sum + target) % 2 == 1) return 0; // 不能二等分int bagsize = (sum + target) / 2;std::vector<int> dp(bagsize + 1, 0);dp[0] = 1;for(int i = 0; i < nums.size(); i++){ // 遍历物品for(int j = bagsize; j >= nums[i]; j--){ // 遍历背包容量dp[j] += dp[j - nums[i]];}}return dp[bagsize];}
};int main(int argc, char *argv[]) {// nums = [1, 1, 1, 1, 1], target = 3std::vector<int> test = {1, 1, 1, 1, 1};int target = 3;Solution S1;int res = S1.findTargetSumWays(test, target);std::cout << res << std::endl;return 0;
}
相关文章:
Leetcode刷题笔记--Hot91--100
1--汉明距离(461) 主要思路: 按位异或,统计1的个数; #include <iostream> #include <vector>class Solution { public:int hammingDistance(int x, int y) {int z x ^ y; // 按位异或int res 0;while(…...
算法训练一——链表
文章目录 已做...
【JAVA】类与对象的重点解析
个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言类与对象的关系JAVA源文件有关类的重要事项static关键字 前言 Java是一种面向对象编程语言,OOP是Java最重要的概念之一。学习OOP时,学生必须理解面向…...
ES6对象扩展
ES6对象扩展是指在ES6中新增的一些对象属性和方法,包括对象属性的简写、计算属性名、对象方法的简写、对象的可迭代性、拓展运算符等。 下面是一些常用的ES6对象扩展: 对象属性的简写 ES6中,当对象的属性名和赋值变量名相同时,…...
docker应用部署---Tomcat的部署配置
1. 搜索tomcat镜像 docker search tomcat2. 拉取tomcat镜像 docker pull tomcat3. 创建容器,设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存储tomcat数据信息 mkdir ~/tomcat cd ~/tomcatdocker run -id --namec_tomcat \ -p 8080:8080 \ -v $PWD:…...
TestCenter测试管理工具
estCenter(简称TC)一款广受好评的测试管理工具,让测试工作更规范、更有效率,实现测试流程无纸化,测试数据资产化。 产品概述 TC流程图 产品功能 一、案例库 案例库集中化管理,支持对测试用例集中管理&…...
索引切片复习
# loc方法 data2.loc[:4,[ymd, bWendu]]# iloc方法 —— 连续取字段 data2.iloc[:4,1:3]# iloc方法 —— 非连续取字段 data2.iloc[:4,[1,4]]# 直接选取单个字段 —— Series data2[ymd]# 直接选取单个字段 —— DataFrame data2[[ymd]]# 直接选取多个字段 —— DataFrame data…...
想入门网络安全,这些前置准备要做好!
网上有很多关于网络安全如何学习、如何入门的内容,但是仍然有很多小白不懂网络安全要怎么去学习。这是由于网络安全包含的范围确实比较广,学习的内容也比较多,所以在刚开始了解的时候确实会有点搞不清楚状况。 这里有一个方法,不要…...
Spark新特性与核心概念
一、Sparkshuffle (1)Map和Reduce 在shuffle过程中,提供数据的称之为Map端(Shuffle Write),接受数据的称之为Redeuce端(Shuffle Read),在Spark的两个阶段中,总…...
设计模式_状态模式
状态模式 介绍 设计模式定义案例问题堆积在哪里解决办法状态模式一个对象 状态可以发生改变 不同的状态又有不同的行为逻辑游戏角色 加载不同的技能 每个技能有不同的:攻击逻辑 攻击范围 动作等等1 状态很多 2 每个状态有自己的属性和逻辑每种状态单独写一个类 角色…...
css 某个元素被挤的显示不完整,如何显示完整
加一行 flex-shrink: 0;解决...
pve lxc debian 11安装docker遇到bash: sudo: command not解决办法
pve创建LXC容器,使用debian 11模版,安装完成后正常换源、安装依赖 然后添加Docker 的官方 GPG 密钥时出错: $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add - 提示 bash: sudo: command not …...
springboot的缓存和redis缓存,入门级别教程
一、springboot(如果没有配置)默认使用的是jvm缓存 1、Spring框架支持向应用程序透明地添加缓存。抽象的核心是将缓存应用于方法,从而根据缓存中可用的信息减少执行次数。缓存逻辑是透明地应用的,对调用者没有任何干扰。只要使用…...
语雀P0级时间爆发,留给运维的时间不多了?
事件背景 打工人的焦虑,已经延伸到在线文档了。近日,语雀P0级故障想必大家都有所体会,宕机近8小时,笔记、离线同步完全不可用。作为用户尤其担心我的文档资料是否会因此消失。 这泼天的8小时,放眼互联网界也是相当炸裂…...
LeetCode 2401.最长优雅子数组 ----双指针+位运算
数据范围1e5 考虑nlog 或者n的解法,考虑双指针 因为这里要求的是一段连续的数组 想起我们的最长不重复连续子序列 然后结合一下位运算就好了 是一道双指针不错的题目 class Solution { public:int longestNiceSubarray(vector<int>& nums) {int n nums…...
NOIP2023模拟6联测27 无穷括号序列
题目大意 小 C C C有一个括号序列 A A A,其长度为 m m m,且序列元素只包含左右括号。他想生成一个无限长的括号序列 B B B,由于 B B B的长度为正无穷,所以其下标可以为任意整数(可以为负)。为了由 A A A生…...
java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码
Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…...
openEuler 22.03 x86架构下docker运行arm等架构的容器——筑梦之路
为什么要这样做? 随着国产化的普及,国家政策对信创产业的支持,尤其一些金融证券行业、政府单位等,逐渐开始走国产化信创的路线,越来越多接触到国产 CPU (arm 平台,比如华为的鲲鹏处理器…...
【Java】HashMap常见的面试题
HashMap常见面试题 1.HashMap key 是否可以是为 我们自定义对象?——可以 2.HashMap 存储数据 有序还是无序?——无序 3.HashMap key 是否可以存放 null值?如果可以的话 存放在 数组中那个位置?——可以;存放在 index0的位置 4.Ha…...
openpnp - src - 配置文件载入过程的初步分析
文章目录 openpnp - src - 配置文件载入过程的初步分析概述笔记自己编译用的git版本报错截图问题1 - 怎么在调试状态下, 定位到抛异常的第一现场?结合单步调试找到的现场, 来分析报错的原因openpnp配置文件读取的流程END openpnp - src - 配置文件载入过程的初步分析 概述 从…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
