剑指Offer读书笔记之第五章1把数组排成最小的数
来源:互联网 发布:python 中文编码转换 编辑:程序博客网 时间:2024/06/06 10:40
33、把数组排成最小的数。假设给定数组{3,32,321},则其排成的最小的数就是321323.
分析:
由于这里给的数组可能很长,如果用一个特定的类型来存放可能会导致溢出,所以采用字符串来处理。定义一种新的比较方式,对数组中的数进行排序,然后从小到大输出即可。
分析:
由于这里给的数组可能很长,如果用一个特定的类型来存放可能会导致溢出,所以采用字符串来处理。定义一种新的比较方式,对数组中的数进行排序,然后从小到大输出即可。
#include<stdio.h>#include<stdlib.h>#include<string.h>const int N = 15;char GlobalStr1[2*N];char GlobalStr2[2*N];int compare(const void *a, const void *b){strcpy(GlobalStr1, (char *)a);strcat(GlobalStr1, (char *)b);strcpy(GlobalStr2, (char *)b);strcat(GlobalStr2, (char *)a);return strcmp(GlobalStr1, GlobalStr2);//a在前小,则a小}int main(){int n,i;int arr[N];char str[N][N];while(scanf("%d", &n) != EOF){for(i = 0; i < n; ++i){scanf("%d", &arr[i]);sprintf(str[i], "%d", arr[i]);}qsort(str, n, sizeof(char) * N, compare);for(i = 0; i < n; ++i)printf("%s", str[i]);printf("\n");}return 0;}
- 剑指Offer读书笔记之第五章1把数组排成最小的数
- 剑指Offer之把数组排成最小的数
- 剑指offer之把数组排成最小的数
- 【剑指offer】之把数组排成最小的数
- 剑指offer之把数组排成最小的数
- 剑指offer-33:把数组排成最小的数
- 剑指offer:把数组排成最小的数
- 【剑指offer】把数组排成最小的数
- 【剑指offer】Q33:把数组排成最小的数
- 九度《剑指offer》把数组排成最小的数
- 剑指offer系列源码-把数组排成最小的数
- 剑指offer 33 把数组排成最小的数
- 剑指offer--把数组排成最小的数
- 《剑指offer》把数组排成最小的数
- 剑指offer:把数组排成最小的数
- 【剑指Offer】把数组排成最小的数
- 剑指offer—把数组排成最小的数
- 《剑指offer》——把数组排成最小的数
- 第6章 搭建MySQL数据库开发环境
- 嵌入式驱动开发makefile文件解析
- 网站首页点击分布分析
- 股票风险 股票交易上的投机行为往往十分危险。假设某股票行为十分怪异,每天不是涨停(上涨10%)就是跌停(下跌10%)。
- 黑马程序员---JAVA基础JAVA23种设计模式之---单例设计模式
- 剑指Offer读书笔记之第五章1把数组排成最小的数
- 如何删除ecshop底部的可执行xxx查询那段内容
- 为什么Linux/Ubuntu中找不到北京时间
- 网站分析基础及KPI实践
- android开发步步为营之8:ActivityGroup实现Tab效果
- 最早的棋盘游戏
- 一网打尽13款开源Java大数据工具,从理论到实践的剖析
- c编写的大数计算
- 摇一摇控制手机震动