【华为上机真题 2022】数组组成的最小数字
创始人
2024-03-23 20:00:01
0

🎈 作者: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 
#include 
#include 
#include 
#include 
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)) {vectorg;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<

三、时间复杂度

时间复杂度:O(nlogn)

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


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


相关内容

热门资讯

流动摊贩违规添加食品添加剂,公... 极目新闻通讯员 王粲 以公开促公正、以听证赢公信,近日,湖北省团风县检察院就甄某销售不合格食品行政公...
浙江义乌首创商会退出机制 制度... 中新网义乌12月27日电 题:浙江义乌首创商会退出机制 制度化探索获全国推广 作者 董易鑫 “我们正...
《办法》:建立身份透明制度,划... 专家解读|促进人工智能拟人化互动服务有序开展引领人工智能负责任创新 人工智能技术的突破正推动人机交互...
探寻强制执行律师服务,周云卿律... 在法律纠纷中,胜诉只是第一步,真正实现权益落地,强制执行环节至关重要。那么,强制执行律师服务哪家强?...
李宏毅直播称活动因不可抗力取消... 12月25日,艺人李宏毅因与芒果娱乐的经纪合同纠纷,被法院执行约1118万元款项,同时收到限制消费令...
法援故事|法援“撑腰”!13名... 绿色通道,法援接单 春节前,农民工们多次向县住建局清欠办反映情况,在工作人员协调下,郭某某给部分人出...
山西黄河壶口瀑布旅游区推出免门... 公众号转载山西经济日报稿件,须申请授权。 山西黄河壶口瀑布旅游区日前发布消息,从12月下旬至明年2...
吉利汽车旗下公司起诉知名电池企... 欣旺达(SZ300207)子公司欣旺达动力科技股份有限公司(以下简称欣旺达动力)卷入了一场高达23....
备案审查成效显著 全国人大常委... 每经记者|李彪 每经编辑|黄博文 12月24日,全国人大常委会法工委(以下简称“法工委”)法规备案...