面试题 17.06. 2出现的次数

题解:. - 力扣(LeetCode). - 力扣(LeetCode)

数位 DP 通用模板_哔哩哔哩_bilibili

class Solution {
public:int numberOf2sInRange(int n) {std::string str = to_string(n);int len = str.size();std::vector<std::vector<int>> memo(len, std::vector<int>(len, -1));int begin = 0;// is_limit表示当前每个位置是否是按照n对应位置去,往下走的bool is_limit = true;// 表示当前是否为一个数字, 前导0的情况就不是一个数字bool is_num = false;// 记录出现2的次数int count = 0;return dfs(str, begin, is_num, is_limit, count, memo);}
private:int dfs(std::string& str, int begin, bool is_num, bool is_limit, int count,std::vector<std::vector<int>>& memo) {// 已经走动末尾if (begin >= str.size()) {// 是一个数字if (is_num) {return count;}return 0;}// 记忆话搜素if (!is_limit && is_num && memo[begin][count] != -1) {return memo[begin][count];}int result = 0;if (!is_num) {// 不是数字,可以选择跳过,is_limit就没有限制了, is_num也不是一个数字result += dfs(str, begin+1, false, false, count, memo);}// 判断当前位置可以选择数字的最大值// 如果被限制了,就只能是当前str位置的元素,没限制就是9int up = is_limit ? str[begin] - '0' : 9;for (int i = 1 - is_num; i <= up; ++i) {// 往下递归,且记录信息result += dfs(str, begin+1, true, is_limit && (i == up ? true : false),count + (i == 2 ? 1 : 0), memo);}// 更新记忆话,当前位置,前门出现了2的个数count个,后面可能的情况if (!is_limit) {memo[begin][count] = result;}// 返回return result;}
};

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

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

相关文章

text-underline-offset的作用是什么,怎么使用

text-underline-offset 是一个 CSS 属性&#xff0c;用于控制文本下划线的偏移位置。换句话说&#xff0c;这个属性可以让你指定下划线距离文本基线的垂直距离。默认情况下&#xff0c;下划线会紧贴文本的基线&#xff0c;但通过设置 text-underline-offset&#xff0c;你可以让…

SUSTAINABILITY,SCIESSCI双检期刊还能投吗?

本期&#xff0c;小编给大家介绍的是一本MDPI出版社旗下SCIE&SSCI双检“毕业神刊”——SUSTAINABILITY。据悉&#xff0c;早在2024年1月&#xff0c;ElSEVIER旗下的Scopus数据库已暂停收录检索期刊SUSTAINABILITY所发表文章&#xff0c;同时重新评估是否继续收录该期刊。随…

Pytest 读取excel文件参数化应用

本文是基于Pytest框架&#xff0c;读取excel中的文件&#xff0c;传入页面表单中&#xff0c;并做相应的断言实现。 1、编辑媒体需求 首先明确一下需求&#xff0c;我们需要对媒体的表单数据进行编辑&#xff0c;步骤如下&#xff1a; 具体表单如下图所示 1、登录 2、点击我…

electron基础使用

安装以及运行 当前node版本18&#xff0c;按照官网提供操作&#xff0c;npm init进行初始化操作&#xff0c;将index.js修改为main.js&#xff0c;执行npm install --save-dev electron。&#xff08;这里我挂梯子下载成功了。&#xff09;&#xff0c;添加如下代码至package.…

ORB算法特征提取

声明&#xff1a;学习过程中的知识总结&#xff0c;欢迎批评指正。 ORB算法提取两路输入图像&#xff08;图像A&#xff0c;图像B&#xff09;的特征点&#xff0c;根据提取的特征点进行特征匹配得到特征对。 ​ 图像金字塔 因为在现实世界中&#xff0c;同一个物体可能会以…

青少年编程与数学 01-001开始使用计算机 03课题、键盘操作与打字2_2

青少年编程与数学 01-001开始使用计算机 03课题、键盘操作与打字2_2 五、中文打字六、语音输入&#xff08;一&#xff09;启用Windows语音输入&#xff08;二&#xff09;使用语音输入&#xff08;三&#xff09;提示与注意事项 课题建议课题作业英文词汇英文缩写 本文主题为键…

文生视频新王登场:Luma官宣免费、电影级大片生成,Sora?可灵?SD3.0?(内附网址)

✨点击这里✨&#xff1a;&#x1f680;原文链接&#xff1a;&#xff08;更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号&#xff01;&#xff09; 文生视频新王登场&#xff1a;Luma官宣免费、电影级大片生成&#xff0c;Sora&#xff1f;可灵&am…

Ubuntu server 24 (Linux) 安装部署samba服务器 共享文件目录 windows访问

1 安装 sudo apt update sudo apt-get install samba #启动服务 sudo systemctl restart smbd.service sudo systemctl enable smbd.service #查看服务 2 创建用户 #创建系统用户 sudo useradd test2 #配置用户密码 sudo smbpasswd -a test2 # smbpasswd: -a添加用户 …

[xmake]构建静态库和动态库

xmake 静态库和动态库 在xmake中创建静态库和动态库的方法非常相似。以下是创建静态库和动态库的基本步骤&#xff1a; 创建xmake工程文件&#xff08;xmake.lua&#xff09;。 配置工程属性&#xff0c;包括工程名、版本等。 添加源代码文件到工程中。 设置是创建静态库还…

SD3开源:AI绘画的新纪元,出图效果巨好,不容错过!(附教程)

大家好&#xff0c;我是画画的小强。 这两天&#xff0c;Stability AI 将史上最牛的AI绘画模型SD3开源了&#xff0c;真是有格局&#xff01; 虽说只是中杯的20亿参数版本&#xff0c;但我已经很满足了&#xff0c;再高的版本&#xff0c;我这普通的16G 4070Ti Super 显卡也跑…

C++程序退出时进行资源清理和关闭操作

在 C 程序中&#xff0c;进行资源清理和关闭操作时&#xff0c;通常会使用析构函数或 atexit 函数来执行清理操作。以下是一些方法和示例&#xff0c;展示如何在程序退出时清理 USB 资源或执行其他清理操作 一、使用析构函数 如果你的资源清理操作与某个对象的生命周期相关&am…

虚幻引擎 Apple Vision Pro 快速入门指南

先决条件 需要配备 Apple Silicon(m1、m2、m3)的 Mac 安装了 visionOS 1.1 支持的 Xcode 15.3 Apple Vision Pro 设备设置 这是一个简短的摘要,请参阅 Apple 的文档以获取完整的设置说明。 设置并连接到你的 wifi,或者使用开发者带 由于 wifi 不稳定,建议使用开发者带 更…

HAL库开发--串口

知不足而奋进 望远山而前行 目录 文章目录 前言 学习目标 学习内容 开发流程 串口功能配置 串口功能开启 串口中断配置 串口参数配置 查询配置结果 发送功能测试 中断接收功能测试 printf配置 DMA收发 配置 DMA发送 DMA接收(方式1) DMA接收(方式2) 总结 前言…

shell编程基础(第18篇:更多的文件操作命令介绍)

前言 对于文件来说&#xff0c;除了它的文件内容之外&#xff0c;就是对其文件本身的操作&#xff0c;比如我们想要重命名文件、移动文件、复制文件、已经获取文件所在目录&#xff0c;文件名等操作&#xff0c;今天一起学习更多的文件操作相关的命令 basename 用于获取文件名…

C++ 32 之 静态成员函数

#include <iostream> #include <string> using namespace std;// 特点: // 1.在编译阶段就分配了内存空间 // 2.类内声明&#xff0c;在类外进行初始化 // 3.所有对象共享一份静态成员数据 class Students02{ public:int s_c;static int s_d;// 静态成员函数&#…

整理好了!2024年最常见 20 道并发编程面试题(八)

上一篇地址&#xff1a;整理好了&#xff01;2024年最常见 20 道并发编程面试题&#xff08;七&#xff09;-CSDN博客 十五、请解释什么是不可变对象&#xff08;Immutable Objects&#xff09;以及它们在并发编程中的优势。 不可变对象&#xff08;Immutable Objects&#x…

btstack协议栈实战篇--HFP HF - Hands-Free

btstack协议栈---总目录_bt stack是什么-CSDN博客 目录 1.Main Application Setup 2.hci_packet_handler 3.hfp_hf_packet_handler 4.log信息 这个HFP免提示例演示了如何从远程HFP音频网关(AG),并且如果定义了HAVE BTSTACK STDIN,如何控制HFP AG。 1.Main Appl…

基于python的PDF文件解析器汇总

基于python的PDF文件解析器汇总 大多数已发表的科学文献目前以 PDF 格式存在&#xff0c;这是一种轻量级、普遍的文件格式&#xff0c;能够保持一致的文本布局和格式。对于人类读者而言&#xff0c; PDF格式的文件内容展示整洁且一致的布局有助于阅读&#xff0c;可以很容易地…

航拍无人机像素坐标转世界坐标

一、背景 已知相机参数&#xff08;传感器宽度和高度、图像宽度和高度、焦距、相对航高、像主点坐标 &#xff09;&#xff0c;在给定像素坐标的前提下&#xff0c;求世界坐标&#xff0c;大部分通过AI来实现&#xff0c;不知道哪个步骤有问题&#xff0c;望大家指正 二、代码…

YOLOv8可视化界面PYQT5

yolov8&#xff0c;可视化界面pyqt。支持图片检测&#xff0c;视频检测&#xff0c;摄像头检测等&#xff0c;实时显示检测画面。支持自定义数据集&#xff0c;计数&#xff0c;fps展示……,即插即用&#xff0c;无需更改太多代码