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

CPP贪心算法示例

设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
string intToStr(int x)
{return to_string(x);//例如 12345 会变成 “12345”
}// 比较函数,用于确定两个数字拼接后的顺序
bool compare(const int& x, const int& y) {string xStr = intToStr(x);string yStr = intToStr(y);string xyStr = xStr + yStr;// + 运算符可以直接链接两个string类型函数string yxStr = yStr + xStr;return xyStr > yxStr; // 返回拼接后较大的那个顺序
}int main() {int n;cin >> n;vector<int> a(n);for (int i = 0; i < n; ++i) {cin >> a[i];}// 使用自定义的比较函数对向量进行排序sort(a.begin(), a.end(), compare);//注意这里只能用迭代器不能用sort(arr, arr + n, compare)// 输出排序后的结果for (size_t i = 0; i < a.size(); ++i) {cout << a[i];}cout << endl;return 0;
}

http://www.lryc.cn/news/480651.html

相关文章:

  • GPT对NLP的冲击
  • 中值定理类证明题中对‘牛顿插值法’的应用
  • HTMLCSS:3D 旋转卡片的炫酷动画
  • Node.js 全栈开发进阶篇
  • SQL语句-MySQL
  • Tencent Hunyuan3D
  • [ABC239E] Subtree K-th Max
  • Axure设计之左右滚动组件教程(动态面板)
  • 善用Git LFS来降低模型文件对磁盘的占用
  • Oracle RAC的thread
  • 如何创建备份设备以简化 SQL Server 备份过程?
  • DeBiFormer实战:使用DeBiFormer实现图像分类任务(一)
  • 【go从零单排】迭代器(Iterators)
  • Java与HTML:构建静态网页
  • 软件测试:测试用例详解
  • FreeSWITCH Ubuntu 18.04 源码编译
  • spring—boot(整合redis)
  • Python 包镜像源
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行电源阻抗仿真分析操作指导(一)-无电容
  • Unity3D ASTC贴图压缩格式详解
  • Docker的轻量级可视化工具Portainer
  • udp丢包问题
  • 儿童安全座椅行业全面深入分析
  • 【笔记】扩散模型(九):Imagen 理论与实现
  • 05 SQL炼金术:深入探索与实战优化
  • Linux用lvm格式挂载磁盘
  • Xshell,Shell的相关介绍与Linux中的权限问题
  • 考研要求掌握的C语言(选择排序)
  • 达梦8数据库适配ORACLE的8个参数
  • CSS实现文字渐变效果