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

小于n的最大数 - 贪心算法 - C++

字节经典面试题
给定一个整数n,并从1~9中给定若干个可以使用的数字,根据上述两个条件,得到每一位都为给定可使用数字的、最大的小于整数n的数,例如,给定可以使用的数字为 {2,3,8} 三个数:给定 n=3589,输出3388;给定 n=8234,输出8233;……

#include <iostream>
#include <ostream>
#include <vector>
#include <algorithm>
using namespace std;
//找到小于x的最大值
int find_x(const vector<int>& digits, int x) {for (auto it = digits.rbegin(); it < digits.rend(); it++) {if (*it < x) {   return *it;}}return 0;
}
int process(vector<int>& digits, int n){sort(digits.begin(), digits.end());vector<int> aim;while(n>0){aim.push_back(n%10);n/=10;//cout<<n<<endl;}vector<int>ans(aim.size(), 0);for(int i=aim.size()-1; i>=0; i--){int now = find_x(digits, aim[i]);//当前的第i位找不到不合适,回溯降级需要降级if(now==0 && i==0){while(i<aim.size() && now==0){now = find_x(digits, aim[i]);i++;}//找到最高位还没有找到合适的,就要降级了if(i==aim.size()){ans = vector<int>(aim.size()-1, *(digits.end()-1));break;}else{//找到合适的了ans[i] = now;for(int k=0;k<i;k++){//后面的位都补充最大的数ans[k]=*digits.end();}break;}}else if(now ==0 ){now = digits[0];}ans[i]=now;}int ret=0;for(int m=ans.size()-1; m>=0; m--){ret*=10;ret+=ans[m];}return ret;
}int main()
{vector<int> m_digits= { 2,8,3 };cout <<process(m_digits, 2222) <<endl;return 0;
}

相关文章:

小于n的最大数 - 贪心算法 - C++

字节经典面试题 给定一个整数n&#xff0c;并从1~9中给定若干个可以使用的数字&#xff0c;根据上述两个条件&#xff0c;得到每一位都为给定可使用数字的、最大的小于整数n的数&#xff0c;例如&#xff0c;给定可以使用的数字为 {2,3,8} 三个数&#xff1a;给定 n3589&#x…...

【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 3:算法实现

目录 1 三种多头编码&#xff08;MHE&#xff09;实现1.1 多头乘积&#xff08;MHP&#xff09;1.2 多头级联&#xff08;MHC&#xff09;1.3 多头采样&#xff08;MHS&#xff09;1.4 标签分解策略 论文&#xff1a;Multi-Head Encoding for Extreme Label Classification 作者…...

解决CentOS 8 YUM源更新后报错问题:无法下载AppStream仓库元数据

背景介绍 在尝试更新CentOS 8的YUM源以使用阿里云镜像时&#xff0c;遇到了Failed to download metadata for repo appstream的错误。此错误通常出现在执行yum clean all && yum makecache命令之后&#xff0c;表明系统无法从指定的URL获取AppStream仓库的元数据。本文…...

[python3]Excel解析库-openpyxl

https://openpyxl.readthedocs.io/en/stable/ openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。它允许开发者创建、修改和保存电子表格&#xff0c;而无需依赖 Microsoft Excel 软件本身。openpyxl 支持读取和写入 Excel 的工作簿&#xff08;Work…...

Docker 远程访问完整配置教程以及核心参数理解

Docker 远程访问完整配置教程 以下是配置 Docker 支持远程访问的完整教程&#xff0c;包括参数说明、配置修改、云服务器安全组设置、主机防火墙配置&#xff0c;以及验证远程访问的详细步骤。 1. 理解 -H fd:// 参数的作用&#xff08;理解了以后容易理解后面的操作&#xff…...

王老吉药业SRM系统上线 携手隆道共启战略合作新篇章

12月27日&#xff0c;广州王老吉药业股份有限公司&#xff08;简称“王老吉药业”&#xff09;SRM项目上线启动会&#xff0c;在王老吉科普教育基地——“吉园”隆重举行。广药集团纪委主任陈耕、王老吉药业总工程师黄晓丹、隆道公司总裁吴树贵、项目经理赵耀、供应商代表郭伟及…...

MyBatis 配置文件全解析

一、MyBatis 配置文件为何至关重要&#xff1f; 在 Java 后端开发领域&#xff0c;MyBatis 作为一款广受欢迎的持久层框架&#xff0c;极大地简化了数据库操作。而 MyBatis 配置文件&#xff0c;恰似整个框架的 “神经中枢”&#xff0c;掌控着其运行的方方面面&#xff0c;对…...

unity学习6:unity的3D项目的基本界面和菜单

目录 1 unity界面的基本认识 1.1 file 文件 1.2 edit 编辑/操作 1.3 Assets 1.4 gameobject 游戏对象 1.5 组件 1.6 windows 2 这些部分之间的关系 2.1 关联1&#xff1a; Assets & Project 2.2 关联2&#xff1a;gameobject & component 2.3 关联3&#xf…...

企业二要素如何用C#实现

一、什么是企业二要素&#xff1f; 企业二要素&#xff0c;通过输入统一社会信用代码、企业名称或统一社会信用代码、法人名称&#xff0c;验证两者是否匹配一致。 二、企业二要素适用哪些场景&#xff1f; 例如&#xff1a;信用与金融领域 1.信用评级&#xff1a;信用评级…...

中科院空天院无人机视觉语言导航新基准!AeroVerse:模拟、预训练、微调和评估空中无人机具身世界模型的测试基准

作者&#xff1a; Fanglong Yao, Yuanchang Yue, Youzhi Liu, Xian Sun, Kun Fu 单位&#xff1a;中国科学院空天信息创新研究院网络信息系统技术重点实验室&#xff0c;中国科学院大学电子电气与通信工程学院 原文链接&#xff1a; AeroVerse: UAV-Agent Benchmark Suite fo…...

Python安装(新手详细版)

前言 第一次接触Python&#xff0c;可能是爬虫或者是信息AI开发的小朋友&#xff0c;都说Python 语言简单&#xff0c;那么多学一些总是有好处的&#xff0c;下面从一个完全不懂的Python 的小白来安装Python 等一系列工作的记录&#xff0c;并且遇到的问题也会写出&#xff0c…...

Oracle DG备库数据文件损坏修复方法(ORA-01578/ORA-01110)

今天负责报表的同事反馈在DG库查询时出现如下报错 ORA-01578:ORACLE数据块损坏(文件号6,块号 2494856)ORA-01110:数据文件6: /oradata/PMSDG/o1 mf users_molczgmn_.dbfORA-26040:数据块是使用 NOLOGGING 选项加载的 可以看到报错是数据文件损坏&#xff0c;提示了file id和b…...

安装Linux

在Linux系统上安装MySQL数据库&#xff0c;可以根据服务器是否有网络连接选择不同的安装方式。以下分别介绍在线安装&#xff08;通过yum&#xff09;和离线安装&#xff08;手动下载.tar包&#xff09;的详细步骤&#xff1a; 一、在线安装&#xff08;通过yum&#xff09; 检…...

【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(四)

****非斜体正文为原文献内容&#xff08;也包含笔者的补充&#xff09;&#xff0c;灰色块中是对文章细节的进一步详细解释&#xff01; 四、提示范式&#xff08;Explanation for Prompting Paradigm&#xff09; 随着语言模型规模的扩大&#xff0c;基于提示&#xff08;prom…...

【OpenCV】使用Python和OpenCV实现火焰检测

1、 项目源码和结构&#xff08;转&#xff09; https://github.com/mushfiq1998/fire-detection-python-opencv 2、 运行环境 # 安装playsound&#xff1a;用于播放报警声音 pip install playsound # 安装opencv-python&#xff1a;cv2用于图像和视频处理&#xff0c;特别是…...

SpringCloud(二)--SpringCloud服务注册与发现

一. 引言 ​ 前文简单介绍了SpringCloud的基本简介与特征&#xff0c;接下来介绍每个组成部分的功能以及经常使用的中间件。本文仅为学习所用&#xff0c;联系侵删。 二. SpringCloud概述 2.1 定义 ​ Spring Cloud是一系列框架的有序集合&#xff0c;它巧妙地利用了Spring…...

国内Ubuntu环境Docker部署CosyVoice

国内Ubuntu环境Docker部署CosyVoice 本文旨在记录在 国内 CosyVoice项目在 Ubuntu 环境下如何使用 dockermin-conda进行一键部署。 源项目地址&#xff1a; https://github.com/FunAudioLLM/CosyVoice 如果想要使用 dockerpython 进行部署&#xff0c;可以参考我另一篇博客中的…...

嵌入式linux系统中QT信号与槽实现

第一:Qt中信号与槽简介 信号与槽是Qt编程的基础。因为有了信号与槽的编程机制,在Qt中处理界面各个组件的交互操作时变得更加直观和简单。 槽函数与一般的函数不同的是:槽函数可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行。 案例操作与实现: #ifndef …...

科研绘图系列:R语言单细胞数据常见的可视化图形

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理图1图2图3图4图5图6系统信息参考介绍 单细胞数据常见的可视化图形 因为本教程是单细胞数据,因此运行本画图脚本需要电脑的内存最少32Gb 加载…...

使用 C++ 和函数式编程构建高效的 AI 模型

引言 现代 AI 开发常常使用 Python&#xff0c;但在底层实现中&#xff0c;C 仍是不可或缺的语言&#xff0c;尤其是在性能敏感的场景下。将 C 与函数式编程结合&#xff0c;可以打造高效、模块化的 AI 模型&#xff0c;同时提高代码的可读性和可维护性。本文将深入探讨如何利用…...

终极Windows优化指南:让旧电脑重获新生的开源神器

终极Windows优化指南&#xff1a;让旧电脑重获新生的开源神器 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and custom…...

避坑指南:Altium Designer导入STEP模型时常见的5个报错及解决方法

Altium Designer 3D模型导入避坑实战&#xff1a;从报错解析到高效协作 在硬件设计领域&#xff0c;3D模型的精准导入已成为提升团队协作效率的关键环节。作为一名长期使用Altium Designer&#xff08;AD&#xff09;的硬件工程师&#xff0c;我深刻理解当STEP模型导入失败时那…...

卡内基梅隆大学:AI智能体社交网络中的隐私危机比想象的更严重

这项由卡内基梅隆大学研究团队主导的前沿研究于2026年4月发表在预印本平台上&#xff0c;论文编号为arXiv:2604.01487v2。研究团队开发了名为AgentSocialBench的全新评估基准&#xff0c;这是世界上首个专门用于测试以人为中心的AI智能体社交网络中隐私风险的系统性工具。当我们…...

“怪奇物语物流假设”:当交通被转移到另一个世界

在《怪奇物语》中&#xff0c;颠倒世界作为现实世界的镜像维度&#xff0c;始终以一种危险而不可控的形式存在&#xff1a;它与现实重叠&#xff0c;却又充满腐败与入侵性。然而&#xff0c;如果暂时搁置这种叙事中的恐怖属性&#xff0c;我们可以提出一个反直觉的问题——如果…...

企业文件外发最后一公里失控怎么办

文件发给客户的那一刻&#xff0c;你以为工作结束了&#xff1f; 太天真了。 某工程公司的项目经理老周跟我讲过一件事。他们给甲方发了一份标书&#xff0c;报价 480 万&#xff0c;文件通过邮件附件发出。三天后&#xff0c;甲方一个基层办事员把文件转发给了自己的供应商&qu…...

实例化需求管理化技术实例化需求文档

实例化需求管理技术&#xff1a;让需求文档活起来 在软件开发中&#xff0c;需求文档是项目成功的关键&#xff0c;但传统文档往往因冗长、模糊或脱离实际而失效。实例化需求管理技术&#xff08;Specification by Example, SBE&#xff09;通过将需求转化为具体实例&#xff…...

STM32无刷电机开环控制实战:从CubeMX配置到SPWM波形生成全流程

STM32无刷电机开环控制实战&#xff1a;从CubeMX配置到SPWM波形生成全流程 在嵌入式开发领域&#xff0c;无刷电机控制一直是技术热点与难点。相比传统有刷电机&#xff0c;无刷电机凭借高效率、长寿命和低噪音等优势&#xff0c;在无人机、机器人、工业自动化等领域获得广泛应…...

2026年专业的昆明装修公司排行榜出炉!

在昆明&#xff0c;装修是许多业主的大事&#xff0c;但市场上的装修公司参差不齐&#xff0c;让业主们头疼不已。今天&#xff0c;我们就来深入分析一下昆明的装修市场&#xff0c;为大家推荐靠谱的装修公司&#xff0c;其中首推34年昆明本土老牌——渤竣装家汉。业主装修痛点…...

SpringBladex部署避坑指南:Nacos 2.0配置那些事儿

SpringBladex部署实战&#xff1a;Nacos 2.0配置冲突的深度解决方案 当你第一次尝试部署SpringBladex时&#xff0c;可能会遇到一个令人困惑的场景&#xff1a;明明在配置文件中正确设置了Nacos服务器地址&#xff0c;但应用启动时却固执地连接到了本地的127.0.0.1:8848。这不是…...

全文降AI的好处有哪些?推荐3款支持全文处理的降AI工具

全文降AI的好处有哪些&#xff1f;推荐3款支持全文处理的降AI工具 2026年的毕业季&#xff0c;AI检测已经不是"可能查"而是"一定查"。从知网到维普&#xff0c;从万方到大雅&#xff0c;几乎所有主流检测平台都上线了AIGC检测功能。面对这种局面&#xff0…...