当前位置:网站首页>Given an array, such as [7864, 284, 347, 7732, 8498], now you need to splice the numbers in the array to return the "largest possible number."
Given an array, such as [7864, 284, 347, 7732, 8498], now you need to splice the numbers in the array to return the "largest possible number."
2022-07-07 23:27:00 【Yuyang】
/** * Give an array , Such as [7864, 284, 347, 7732, 8498], * Now you need to splice the numbers in the array , If spliced in sequence, it is :786428434777328498, The number splicing order in the array can be arbitrary , * Programming , return 「 The most likely number to spell 」.( Take the above array as an example , return 849878647732347284) * @param arrays * @return */
Their thinking : Disassemble every number in the array , Store the value on the stack ( Obvious stack data structure ); Sort ( The idea of bubble sorting is used ) , The sorting process compares the size through the size comparison between the high and low values , such as 8,70, Sort by this 8 Belong to the big one ; Finally, the array is output from the back to the front to complete the splicing
public static String getMaxNum(long[] arrays) {
if (arrays == null || arrays.length == 0) {
return "0";
}
// Store all disassembled data sets
Map<Long, Stack<Integer>> numMaps = Maps.newHashMap();
for (long tn : arrays) {
long t = tn;
Stack<Integer> qu = new Stack<>();
do {
qu.push((int) t % 10);
t = t / 10;
} while (t > 0);
numMaps.put(tn, qu);
}
for (int i = 0; i < arrays.length; i++) {
for (int j = 0; j < arrays.length - i - 1; j++) {
Stack<Integer> f = numMaps.get(arrays[j]);
Stack<Integer> s = numMaps.get(arrays[j + 1]);
// Compare the size
int fn = f.size() - 1;
int sn = s.size() - 1;
do {
if (f.get(fn) < s.get(sn)) {
break;
}
if (f.get(fn) > s.get(sn)) {
long tn = arrays[j];
arrays[j] = arrays[j + 1];
arrays[j + 1] = tn;
break;
}
fn--;
sn--;
} while (fn >= 0 && sn >= 0);
if (fn == -1 || sn == -1) {
fn = fn == -1 ? 0 : fn;
sn = sn == -1 ? 0 : sn;
if (f.get(fn) > s.get(sn)) {
long tn = arrays[j];
arrays[j] = arrays[j + 1];
arrays[j + 1] = tn;
}
}
}
}
StringBuffer sb = new StringBuffer();
for (int i = arrays.length - 1; i >= 0; i--)
sb.append(arrays[i]);
return sb.toString();
}perform Case data
long a[] = new long[]{764, 76, 77};
long b[] = new long[]{767, 76, 77};
long c[] = new long[]{7864, 284, 347, 7732, 8498};Execution results

边栏推荐
- MySQL Index Optimization Practice I
- Mysql索引优化实战一
- Three questions TDM
- USB (XVII) 2022-04-15
- ArcGIS: two methods of attribute fusion of the same field of vector elements
- STL标准模板库(Standard Template Library)一周学习总结
- Dynamics 365 find field filtering
- Wechat forum exchange applet system graduation design (5) assignment
- HDU 4747 mex "recommended collection"
- Ros2 topic (03): the difference between ros1 and ros2 [02]
猜你喜欢

Explain

漏洞复现----49、Apache Airflow 身份验证绕过 (CVE-2020-17526)

2021ICPC上海 H.Life is a Game Kruskal重构树

Vulnerability recurrence ----- 49. Apache airflow authentication bypass (cve-2020-17526)

产业共融新势能,城链科技数字峰会厦门站成功举办

成年人只有一份主业是要付出代价的,被人事劝退后,我哭了一整晚

Spark 离线开发框架设计与实现
![MATLAB signal processing [Q & A essays · 2]](/img/be/0baa92767c3abbda9b0bff47cb3a75.png)
MATLAB signal processing [Q & A essays · 2]

MySQL Index Optimization Practice I

电子设备行业智能供应链协同平台解决方案:解决低效, 赋能产业数字化升级
随机推荐
B_ QuRT_ User_ Guide(36)
The 19th Zhejiang Provincial College Programming Contest VP record + supplementary questions
Coreseek: the second step is index building and testing
Home appliance industry channel business collaboration system solution: help home appliance enterprises quickly realize the Internet of channels
USB (XVIII) 2022-04-17
三问TDM
Dynamics 365 find field filtering
2022第六季完美童模陕西总决赛圆满落幕
sql 数据库执行问题
Mysql索引优化实战二
Unity3D学习笔记5——创建子Mesh
LeeCode -- 6. Z 字形变换
CXF call reports an error. Could not find conduct initiator for address:
UE4_UE5蓝图command节点的使用(开启关闭屏幕响应-log-发布全屏显示)
2022 届的应届生都找到工作了吗?做自媒体可以吗?
Happy gathering time
Opencv scalar passes in three parameters, which can only be displayed in black, white and gray. Solve the problem
SRM supplier cloud collaborative management platform solution for building materials industry to realize business application scalability and configuration
USB (XVII) 2022-04-15
七月第一周