当前位置: 首页 > news >正文

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--汉明距离&#xff08;461&#xff09; 主要思路&#xff1a; 按位异或&#xff0c;统计1的个数&#xff1b; #include <iostream> #include <vector>class Solution { public:int hammingDistance(int x, int y) {int z x ^ y; // 按位异或int res 0;while(…...

算法训练一——链表

文章目录 已做...

【JAVA】类与对象的重点解析

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 文章目录 前言类与对象的关系JAVA源文件有关类的重要事项static关键字 前言 Java是一种面向对象编程语言&#xff0c;OOP是Java最重要的概念之一。学习OOP时&#xff0c;学生必须理解面向…...

ES6对象扩展

ES6对象扩展是指在ES6中新增的一些对象属性和方法&#xff0c;包括对象属性的简写、计算属性名、对象方法的简写、对象的可迭代性、拓展运算符等。 下面是一些常用的ES6对象扩展&#xff1a; 对象属性的简写 ES6中&#xff0c;当对象的属性名和赋值变量名相同时&#xff0c;…...

docker应用部署---Tomcat的部署配置

1. 搜索tomcat镜像 docker search tomcat2. 拉取tomcat镜像 docker pull tomcat3. 创建容器&#xff0c;设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存储tomcat数据信息 mkdir ~/tomcat cd ~/tomcatdocker run -id --namec_tomcat \ -p 8080:8080 \ -v $PWD:…...

TestCenter测试管理工具

estCenter&#xff08;简称TC&#xff09;一款广受好评的测试管理工具&#xff0c;让测试工作更规范、更有效率&#xff0c;实现测试流程无纸化&#xff0c;测试数据资产化。 产品概述 TC流程图 产品功能 一、案例库 案例库集中化管理&#xff0c;支持对测试用例集中管理&…...

索引切片复习

# 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…...

想入门网络安全,这些前置准备要做好!

网上有很多关于网络安全如何学习、如何入门的内容&#xff0c;但是仍然有很多小白不懂网络安全要怎么去学习。这是由于网络安全包含的范围确实比较广&#xff0c;学习的内容也比较多&#xff0c;所以在刚开始了解的时候确实会有点搞不清楚状况。 这里有一个方法&#xff0c;不要…...

Spark新特性与核心概念

一、Sparkshuffle &#xff08;1&#xff09;Map和Reduce 在shuffle过程中&#xff0c;提供数据的称之为Map端&#xff08;Shuffle Write&#xff09;&#xff0c;接受数据的称之为Redeuce端&#xff08;Shuffle Read&#xff09;&#xff0c;在Spark的两个阶段中&#xff0c;总…...

设计模式_状态模式

状态模式 介绍 设计模式定义案例问题堆积在哪里解决办法状态模式一个对象 状态可以发生改变 不同的状态又有不同的行为逻辑游戏角色 加载不同的技能 每个技能有不同的&#xff1a;攻击逻辑 攻击范围 动作等等1 状态很多 2 每个状态有自己的属性和逻辑每种状态单独写一个类 角色…...

css 某个元素被挤的显示不完整,如何显示完整

加一行 flex-shrink: 0;解决...

pve lxc debian 11安装docker遇到bash: sudo: command not解决办法

pve创建LXC容器&#xff0c;使用debian 11模版&#xff0c;安装完成后正常换源、安装依赖 然后添加Docker 的官方 GPG 密钥时出错&#xff1a; $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add - 提示 bash: sudo: command not …...

springboot的缓存和redis缓存,入门级别教程

一、springboot&#xff08;如果没有配置&#xff09;默认使用的是jvm缓存 1、Spring框架支持向应用程序透明地添加缓存。抽象的核心是将缓存应用于方法&#xff0c;从而根据缓存中可用的信息减少执行次数。缓存逻辑是透明地应用的&#xff0c;对调用者没有任何干扰。只要使用…...

语雀P0级时间爆发,留给运维的时间不多了?

事件背景 打工人的焦虑&#xff0c;已经延伸到在线文档了。近日&#xff0c;语雀P0级故障想必大家都有所体会&#xff0c;宕机近8小时&#xff0c;笔记、离线同步完全不可用。作为用户尤其担心我的文档资料是否会因此消失。 这泼天的8小时&#xff0c;放眼互联网界也是相当炸裂…...

LeetCode 2401.最长优雅子数组 ----双指针+位运算

数据范围1e5 考虑nlog 或者n的解法&#xff0c;考虑双指针 因为这里要求的是一段连续的数组 想起我们的最长不重复连续子序列 然后结合一下位运算就好了 是一道双指针不错的题目 class Solution { public:int longestNiceSubarray(vector<int>& nums) {int n nums…...

NOIP2023模拟6联测27 无穷括号序列

题目大意 小 C C C有一个括号序列 A A A&#xff0c;其长度为 m m m&#xff0c;且序列元素只包含左右括号。他想生成一个无限长的括号序列 B B B&#xff0c;由于 B B B的长度为正无穷&#xff0c;所以其下标可以为任意整数&#xff08;可以为负&#xff09;。为了由 A A A生…...

java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示…...

openEuler 22.03 x86架构下docker运行arm等架构的容器——筑梦之路

为什么要这样做&#xff1f; 随着国产化的普及&#xff0c;国家政策对信创产业的支持&#xff0c;尤其一些金融证券行业、政府单位等&#xff0c;逐渐开始走国产化信创的路线&#xff0c;越来越多接触到国产 CPU &#xff08;arm 平台&#xff0c;比如华为的鲲鹏处理器&#xf…...

【Java】HashMap常见的面试题

HashMap常见面试题 1.HashMap key 是否可以是为 我们自定义对象&#xff1f;——可以 2.HashMap 存储数据 有序还是无序&#xff1f;——无序 3.HashMap key 是否可以存放 null值&#xff1f;如果可以的话 存放在 数组中那个位置&#xff1f;——可以;存放在 index0的位置 4.Ha…...

openpnp - src - 配置文件载入过程的初步分析

文章目录 openpnp - src - 配置文件载入过程的初步分析概述笔记自己编译用的git版本报错截图问题1 - 怎么在调试状态下, 定位到抛异常的第一现场?结合单步调试找到的现场, 来分析报错的原因openpnp配置文件读取的流程END openpnp - src - 配置文件载入过程的初步分析 概述 从…...

【紧急预警】NotebookLM 2.3版本将关闭本地PDF语义隔离模式——社会科学研究者必须在48小时内完成知识库迁移

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;NotebookLM 2.3版本语义隔离模式终止的技术动因与社会科学研究范式冲击 语义隔离模式终止的核心技术动因 NotebookLM 2.3 版本正式移除了“语义隔离&#xff08;Semantic Isolation&#xff09;”模式&#x…...

3分钟上手Mermaid Live Editor:零代码绘制专业图表的终极解决方案

3分钟上手Mermaid Live Editor&#xff1a;零代码绘制专业图表的终极解决方案 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-…...

与拼写检查 JSON 路径的差异:为何保密检查走 Markdown 摘要链:开源免费的WPS AI 软件 察元AI文档助手

与拼写检查 JSON 路径的差异:为何保密检查走 Markdown 摘要链 摘要 本文围绕标题所述主题,结合本仓库当前源码行进行说明。仅供技术理解与内部培训,不构成定密、法务或密码测评结论。文中代码块均摘自本地仓库对应路径与行号。 正文 0. 结论先行 结论先行:保密检查由内…...

从码农到技术总监:10年程序员的职业进化史

一、初入职场&#xff1a;在代码与bug中蹒跚学步2016年的夏天&#xff0c;我背着双肩包&#xff0c;攥着毕业证&#xff0c;走进了一家中型软件公司的大门&#xff0c;成为了一名Java开发程序员&#xff0c;也就是别人口中的“码农”。那时候&#xff0c;我的生活被代码和bug填…...

SKNet核心机制解析与PyTorch实战:从Split-Fuse-Select到完整网络构建

1. SKNet核心机制解析&#xff1a;从Split-Fuse-Select到多尺度特征融合 SKNet&#xff08;Selective Kernel Networks&#xff09;是CVPR 2019提出的创新性网络结构&#xff0c;它在传统卷积神经网络的基础上引入了动态选择机制。这个机制的核心在于让网络能够自适应地选择不同…...

Linux常用命令之文件操作命令零基础教程

前言 本文整理了目录创建、文件创建/写入/查看/删除、重命名剪切复制、压缩解压、权限修改全套常用命令&#xff0c;完全零基础友好&#xff0c;逐条讲解、附带语法和实操用法。 一、目录创建命令 mkdir 1. 基础语法 mkdir 目录名称作用&#xff1a;创建单个空目录 2. 查看帮助…...

python系列【仅供参考】;避开这些坑,你的Python爬虫才能稳定爬取IEEE Xplore(含反爬策略与MongoDB存储实战)

避开这些坑,你的Python爬虫才能稳定爬取IEEE Xplore(含反爬策略与MongoDB存储实战) 避开这些坑,你的Python爬虫才能稳定爬取IEEE Xplore(含反爬策略与MongoDB存储实战)---------------------避开这些坑,你的Python爬虫才能稳定爬取IEEE Xplore(含反爬策略与MongoDB存储…...

Python对象状态持久化:Memoripy库实现增量更新与断点续跑

1. 项目概述&#xff1a;一个让Python程序拥有“记忆”的魔法库如果你写过一些需要处理大量数据或者进行复杂状态管理的Python脚本&#xff0c;肯定遇到过这样的场景&#xff1a;程序运行到一半&#xff0c;因为网络波动、数据异常或者你手动中断&#xff0c;不得不从头再来。那…...

【CTF】【Misc 文件类型】工具与流程

工具准备 本人为方便 CTF 部分 Misc 类型的解题&#xff0c;制作如下集成软件。本软件集成常用功能&#xff0c;能一站式解决大多数 Misc 文件类问题&#xff0c;省去切换工具的繁琐流程&#xff0c;大大提高解题效率&#xff0c;且界面简洁易用。且预留了拓展接口&#xff0c;…...

晶圆为何是圆形而芯片是方形?揭秘半导体制造的工程智慧

1. 项目概述&#xff1a;一个看似简单却充满工程智慧的谜题“为什么晶圆是圆的&#xff0c;而芯片是方的&#xff1f;” 这个问题&#xff0c;乍一听像是半导体行业里一个有趣的脑筋急转弯&#xff0c;但它背后却串联起了从材料科学、物理化学到精密制造、经济学乃至数学几何的…...