news 2026/6/9 6:55:21

(新卷,100分)- 组成最大数(Java JS Python C)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(新卷,100分)- 组成最大数(Java JS Python C)

(新卷,100分)- 组成最大数(Java & JS & Python & C)

题目描述

小组中每位都有一张卡片,卡片上是6位内的正整数,将卡片连起来可以组成多种数字,计算组成的最大数字。

输入描述

“,”号分割的多个正整数字符串,不需要考虑非数字异常情况,小组最多25个人。

输出描述

最大的数字字符串

用例
输入22,221
输出22221
说明
输入4589,101,41425,9999
输出9999458941425101
说明
题目解析

增加一个测试用例

3,32,321

JavaScript算法源码
/* JavaScript Node ACM模式 控制台输入获取 */ const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { const arr = line.split(","); arr.sort((a, b) => { const s1 = a + b; const s2 = b + a; return s1 == s2 ? 0 : s1 > s2 ? -1 : 1; }); console.log(arr.join("")); });
Java算法源码
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] arr = sc.next().split(","); Arrays.sort(arr, (a, b) -> (b + a).compareTo(a + b)); StringBuilder sb = new StringBuilder(); for (String s : arr) sb.append(s); System.out.println(sb); } }
Python算法源码
import functools # 输入获取 arr = input().split(",") # 排序规则 def cmp(a, b): s1 = a + b s2 = b + a return 0 if s1 == s2 else -1 if s1 > s2 else 1 # 算法入口 def getResult(arr): arr.sort(key=functools.cmp_to_key(cmp)) return "".join(arr) # 算法调用 print(getResult(arr))
C算法源码
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_SIZE 25 int cmp(const void* a, const void* b) { char* A = *((char**) a); char* B = *((char**) b); char AB[10000] = {'\0'}; strcat(AB, A); strcat(AB, B); char BA[10000] = {'\0'}; strcat(BA, B); strcat(BA, A); return strcmp(BA, AB); } int main() { char line[10000]; gets(line); char* ss[MAX_SIZE]; int ss_size = 0; char* token = strtok(line, ","); while(token != NULL) { ss[ss_size++] = token; token = strtok(NULL, ","); } qsort(ss, ss_size, sizeof(char*), cmp); char res[10000]; for(int i=0; i<ss_size; i++) { strcat(res, ss[i]); } puts(res); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 1:45:54

火速再就业!国安“救火教练”转身执教中甲保级队

北京时间12月23日&#xff0c;一则迅速发酵的消息引发关注&#xff1a;刚刚发文告别北京国安的代理主帅拉米罗&#xff0c;被曝将火速接手一支中甲保级球队——深圳青年人。此时&#xff0c;距离他在朋友圈那封充满感情的告别信发出&#xff0c;尚不足48小时。从首都豪门到南方…

作者头像 李华
网站建设 2026/6/8 14:45:10

个人理财收支记账系统 家庭理财系统APP_vj9n8--小程序论文

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;带文档1万…

作者头像 李华
网站建设 2026/6/8 15:03:37

零成本高效票务兑换操作指南:从渠道对接至流程落地全解析

1. 核心操作逻辑票务兑换的核心逻辑基于 “需求响应 - 渠道匹配 - 凭证流转” 的闭环&#xff0c;无需提前储备库存&#xff0c;也无需预先投入资金&#xff0c;仅通过对接正规票务供应渠道&#xff0c;在接收用户需求并确认付款后&#xff0c;从渠道获取对应的票务兑换凭证&am…

作者头像 李华
网站建设 2026/6/8 14:35:19

PPT打开密码,如何取消?

PPT文件打开的时候需要打开密码&#xff0c;这种情况该用什么方法解开打开密码呢&#xff1f; 如果是在知道密码的情况下&#xff0c;想要取消PPT文件的打开密码&#xff0c;可以这样做&#xff1a; 打开【文件】-【信息】-【保护演示文稿】&#xff0c;将输入框内的密码删除…

作者头像 李华
网站建设 2026/6/8 15:24:59

Docker 安装 MySQL 8.0

Docker 安装 MySQL 8.0 是日常运维中最常用的方式之一&#xff0c;核心是镜像拉取持久化配置适配 MySQL 8.0 特性&#xff08;如密码策略、认证插件、字符集等&#xff09;&#xff0c;以下是通用且避坑的详细步骤&#xff0c;适配 Linux&#xff08;CentOS/Debian/Ubuntu&…

作者头像 李华