日期:2014-05-20  浏览次数:20807 次

java菜鸟求解
1:写一个方法将字符串中数字按升序重新排列(如“13a65Bc42”变成“12a34Bc56”)



2:写一个方法用形如“-1+5i,6-8i,3+6.5i”的复数序列(字符串)生成一个Map<Double,
Double>类型的对象,实部做key,虚部做value。



大虾门指点指点,今天笔试搞蒙了。
------最佳解决方案--------------------
13a65Bc42
分成2组 数字一组,字母一组,并记录字母的位置如a-2 B-5 c-6
->数字排序,放到list中
for循环字母,像以下这样将相应的数据插入到相应的位置即可。
list.add(2,a);
list.add(5,B)
list.add(6,c)

------其他解决方案--------------------
更优化的
13a65Bc42
分成2组 数字一组,字母一组,并记录字母的位置如a-2 B-5 c-6
->数字排序,使用最终数组s
for(int i = 0; i < length;i++) {
if(i位置为字母)
s[i]=顺序从字母中取
否则
顺序从数字中取
}

这差不多就是合并排序