【华为上机真题 2022】数组组成的最小数字

news2024/11/13 9:27:29

🎈 作者:Linux猿

🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

🎈 关注专栏: 数据结构和算法成神路【精讲】优质好文持续更新中……🚀🚀🚀

🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬


目录

一、题目描述

1.1 输入描述

1.2 输出描述

1.3 测试样例

1.3.1 示例 1

1.3.2 示例 2

二、解题思路

三、时间复杂度


注意:题目来源于网络用户分享,本文仅分享做题思路和方法,如有侵权请联系我删除!

一、题目描述

给定一个数组,请从该数组中选择 3 个元素组成最小数字并输出 ( 如果数组长度小于 3,则选择数组中所有元素组成最小数字)。0 < 数组长度 < 100, 0 < 整数取值范围 <= 10000。

1.1 输入描述

一行用半角逗号分隔的字符串记录的整型数组。

1.2 输出描述

由 3 个元素组成的最小数字,如果数组长度小于 3,则选择数组中所有元素来组成最小数字。

1.3 测试样例

1.3.1 示例 1

输入

21,30,62,5,31

输出

21305

说明:数组长度超过3,需要选择3个元素来组成最小的数字,21305由21,30,5三个元素组成,为所有组合中的最小数字

1.3.2 示例 2

输入

5,21

输出

215

说明:数组长度小于 3,选择所有元素来组成最小值,215 为最小值。

二、解题思路

本题属于简单题,组合最小数字分两步:

(1)首先,将所有数字按从小到大排序,选择最小的三个数字(小于等于 3 个数字可以直接进入第二步);

(2)因为是组合成最小的数字,所以对最小的三个数字按照字符串进行再排序,排序后按照从小到大组合的结果即为最小数字。

三、代码实现

代码实现如下所示。

#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

bool cmpInt(string a, string b)
{
    return atoi(a.c_str()) < atoi(b.c_str());
}

int main()
{
    string str;
    while (getline(cin, str)) {
        vector<string>g;
        stringstream stream(str);
        while (getline(stream, str, ',')) {
            g.push_back(str);
        }

        if (g.size() <= 3) {
            sort(g.begin(), g.end());
            for (auto val : g) {
                cout<<val;
            }
            cout<<endl;
            continue;
        }

        sort(g.begin(), g.end(), cmpInt);
        sort(g.begin(), g.begin() + 3);
        for (int i = 0; i < 3; ++i) {
            cout<<g[i];
        }
        cout<<endl;
    }
    return 0;
}

三、时间复杂度

时间复杂度:O(nlogn)

其中,n 表示输入数字的个数,在上述代码中,排序的时间复杂度为O(nlogn),所以时间复杂度为O(nlogn)。


🎈 感觉有帮助记得「一键三连支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞


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

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

相关文章

深入探索 Kubernetes 网络模型和网络通信

Kubernetes 定义了一种简单、一致的网络模型&#xff0c;基于扁平网络结构的设计&#xff0c;无需将主机端口与网络端口进行映射便可以进行高效地通讯&#xff0c;也无需其他组件进行转发。该模型也使应用程序很容易从虚拟机或者主机物理机迁移到 Kubernetes 管理的 pod 中。 …

PR-39 TFA 是富含脯氨酸和精氨酸的天然抗菌肽

PR-39 TFA 是富含脯氨酸和精氨酸的天然抗菌肽&#xff0c;是一种非竞争性&#xff0c;可逆和变构的蛋白酶体 (proteasome) 抑制剂。PR-39 TFA 可逆地结合到蛋白酶体的 α7 亚基上&#xff0c;并通过泛素-蛋白酶体途径阻断 NF-κB 抑制剂 IκBα 的降解。PR-39 TFA 刺激小鼠的血…

Java中的final关键字,你清楚吗?

前言 在学习Java基础阶段应该都认识关键字 final,在声明常量和匿名内部类时都会用到它。我们最熟悉的 String 类就是 final类&#xff0c;如果经常查看API源码&#xff0c;肯定还会遇到其他 final类。本篇就来深入了解一下关键字 final&#xff0c;加深对它的运用。 概览 可用…

java计算机毕业设计ssm线上拍卖系统设计6luor(附源码、数据库)

java计算机毕业设计ssm线上拍卖系统设计6luor&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…

CRC 循环冗余检验【计网必考】

CRC 循环冗余检验作为一个重点&#xff0c;也是数据链路层必考的一个考点&#xff0c;所以我把差错检测单独拿出来分析一起看一下。总结不易&#xff0c;一个简单的攒&#xff0c;Thanks♪(&#xff65;ω&#xff65;)&#xff89; 目录 一、介绍及工作原理 二、校验计算过程…

zookeeper四字命令_java培训

zookeeper支持某些特定的四字命令&#xff0c;他们大多是用来查询ZK服务的当前状态及相关信息的&#xff0c; 通过telnet或nc向zookeeper提交相应命令&#xff0c;如&#xff1a;echo ruok | nc 127.0.0.1 2181 运行公式&#xff1a;echo 四字命令 | nc 主机IP zookeeper端口…

一文读懂Linux内存分配策略

转载&#xff1a;一文读懂Linux内存分配策略-今日头条 (toutiao.com) 在 Linux 操作系统中&#xff0c;虚拟地址空间的内部又被分为内核空间和用户空间两部分&#xff0c;不同位数的系统&#xff0c;地址空间的范围也不同。比如最常见的 32 位和 64 位系统&#xff0c;如下所示…

r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现

原文链接&#xff1a;http://tecdat.cn/?p3795Glmnet是一个通过惩罚最大似然关系拟合广义线性模型的软件包。正则化路径是针对正则化参数λ的值网格处的lasso或Elastic Net&#xff08;弹性网络&#xff09;惩罚值计算的&#xff08;点击文末“阅读原文”获取完整代码数据&…

[附源码]JAVA毕业设计社区图书馆借阅管理系统(系统+LW)

[附源码]JAVA毕业设计社区图书馆借阅管理系统&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项…

【微服务】版本确认完成,传统方式安装Nacos

目录安装Nacos1.4.1【微服务】SpringCloud和SpringBoot版本选择 【微服务】传统方式安装Nacos 安装Nacos1.4.1 Github地址&#xff1a;https://github.com/alibaba/nacos/releases Nacos1.4.1版本下载地址&#xff1a;https://github.com/alibaba/nacos/releases/download/1.…

170-本地WIFI测试环境配置IP

前几天的时候 博客被删了好多好多篇 算一下 现在是169 按道理的话应该总数是1169的 但是现在只剩下1157了 所以就是被删除了12篇 算了 问题不大 被删了就被删了吧 最近心情真的很不好 五月份的事情一直到现在还是没有走出来 我估计可能要等到下一次自己赚到钱了之后…

基于轨迹优化的自动驾驶汽车跟随自行车模型动力学控制(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 本次使用轨迹优化技术来控制汽车。假设汽车遵循自行车模型的动力学。为了实现稳定和安全的跟踪&#xff0c;我们使用了离散时间…

微信内嵌H5调用相机及支付相关问题

前言 进来项目在做公众号&#xff0c;遇到了一些问题及解决方案&#xff0c;在这里进行记录及分享&#xff0c;希望给大家带来一丝帮助 手机上控制台调试我建议使用vConsole(npm install vconsole) 微信内嵌H5的相机调用 微信内嵌H5我们需要调用扫码功能&#xff0c;则需要用…

如何发布WMS/WMTS离线地图服务

介绍&#xff1a; WMTS&#xff08;OpenGIS Web Map Tile Service&#xff09;当前版本是1.0.0。WMTS标准定义了一些操作&#xff0c;这些操作允许用户访问切片地图。WMTS可能是OGC首个支持RESTful访问的服务标准。 WMTS的原理和操作 如果知道一个请求的边界范围&#x…

浅谈用Redis实现分布式锁的方案及细节

前言 我们都知道&#xff0c;在面对并发问题时&#xff0c;有加锁操作和保证原子操作两种解决方案。当我们采用加锁操作的时候&#xff0c;因为Redis多采用集群的方式部署&#xff0c;因此我们就需要考虑到锁在分布式系统中使用的注意事项。接下来就看看Redis的分布式锁问题。…

【檀越剑指大厂—Spring】Spring高阶篇

一.基础概念 1.模块 2.Spring 框架概述。 Spring 是轻量级的开源的 JavaEE 框架 Spring 可以解决企业应用开发的复杂性 Spring 有两个核心部分: IOC 和 AOP IOC:控制反转&#xff0c;把创建对象过程交给 Spring 进行管理 Aop:面向切面&#xff0c;不修改源代码进行功能增强…

SpringBoot办公管理系统oa人力人事办公(含源码+论文+答辩PPT等)

项目功能简介: 本项目含代码详细讲解视频&#xff0c;手把手带同学们敲代码从0到1完成项目 该项目采用技术SpringBoot、SpringMvc(接入层框架)Spring&#xff08;中间层框架&#xff09;Hibernate(持久层框架)JPAMD5加密、Tomcat服务器、MySQL数据库 项目含有源码、配套开发软件…

R语言多元动态条件相关DCC-MVGARCH、常相关CCC-MVGARCH模型进行多变量波动率预测...

全文下载链接&#xff1a;http://tecdat.cn/?p23287在本文中&#xff0c;当从单变量波动率预测跳到多变量波动率预测时&#xff0c;我们需要明白&#xff0c;现在我们不仅要预测单变量波动率元素&#xff0c;还要预测协方差元素&#xff08;点击文末“阅读原文”获取完整代码数…

web安全之通过sqlmap工具进行靶场练习

目录 基础语法 get类型的注入 post类型的注入 基础语法 -u:用于get提交方式&#xff0c;后面跟注入的url网址 --dbs&#xff1a;获取所有数据库 --tables&#xff1a;获取所有数据表 --columns&#xff1a;获取所有字段 --dump&#xff1a;打印数据 -D&#xff1a;查询选择某…

火到爆的扩散模型(Diffusion Model)帮你具象化幻想世界

Diffusion Model 如果你对人工智能有所了解&#xff0c;想必已经听说过Diffusion Model了。如果还没有&#xff0c;那就一起来了解一下吧—— 扩散&#xff08;Diffusion&#xff09;对于人能智能而言&#xff0c;是一个借用的概念。在热力学中&#xff0c;它指细小颗粒从高密度…