Largest Number字符串排序的示例分析
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章为大家展示了Largest Number字符串排序的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。题目大意:给一组数字,让这些数字字符串组成一
千家信息网最后更新 2026年11月03日Largest Number字符串排序的示例分析
本篇文章为大家展示了Largest Number字符串排序的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
题目大意:
给一组数字,让这些数字字符串组成一个最大的数,这个数可能很大,用字符串表示。
思路:
采用冒泡排序,将数字字符串排序,然后将它们连接起来。
比较两个数字字符串,通过比较s1+s2 与s2+s1的大小,来确定哪个大。
代码如下:
class Solution {public: string largestNumber(vector& nums) { vector numstr; for (int i = 0; i < nums.size(); i++) { stringstream ss; ss << nums[i]; numstr.push_back(ss.str()); } string tmp; for (int i = 0; i < numstr.size(); i++) { for (int j = 0; j < numstr.size() - i - 1; j++) { if (strcmp((numstr[j] + numstr[j + 1]).data(), (numstr[j + 1] + numstr[j]).data()) > 0) //strcmp((numstr[j] + numstr[j + 1]).data(), (numstr[j + 1] + numstr[j]).data()) { tmp = numstr[j]; numstr[j] = numstr[j+1]; numstr[j + 1] = tmp; tmp.clear(); } } } string result; for (int i = numstr.size() - 1; i >= 0; --i) { //极端情况,最大的数字是0,则直接返回"0" if (numstr[numstr.size() - 1] == "0") return "0"; result += numstr[i]; } numstr.clear(); return result; }}; 代码如下:
class Solution {public: string largestNumber(vector &num) { vector arr; for(auto i:num) arr.push_back(to_string(i)); sort(begin(arr), end(arr), [](string &s1, string &s2){ return s1+s2>s2+s1; }); string res; for(auto s:arr) res+=s; while(res[0]=='0' && res.length()>1) res.erase(0,1); return res; }}; 其中sort第三个参数用到了lambda表达式,这是C++11的一个扩展。
上述内容就是Largest Number字符串排序的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
字符
字符串
数字
排序
示例
分析
最大
代码
内容
技能
知识
很大
简明
简明扼要
三个
两个
参数
大小
大意
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云之行互联网科技
互联网科技财经
关于新基建和互联网科技
北京互联网科技有限公司
互联网 的科技创新
新浪科技互联网
万达互联网科技
居家互联网科技有限公司
哈尔滨新华互联网科技
顺网科技2021年互联网排名
栖莱科技互联网股份有限公司
天津腾达互联网科技有限公司
保险科技服务互联网营销体系
皮皮虾互联网科技有限公司
互联网相关科技技术
普陀区互联网教育科技管理办法
科技和互联网行业的特点
承德科技产业互联网平台
科技互联网企业在行动
现代科技的标志之一的互联网
互联网与科技发展
科技互联网技术
北京互联网科技
互联网金融 金融科技
青岛互联网科技公司
互联网科技股有哪些
互联网科技股午盘股票涨跌
互联网科技人工智能实验室
南博望互联网科技有限公司
互联网企业和网络科技有限公司