先说明,不是数据库来的,要算法的代码。我有两个长度相等的数组
key: 0, 120, -100, 97, 66, 66, 34, 2, -1024, 0……
val: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9……
按KEY(有相等的)对VALUE进行排序,要求是:
0、最好是快速排序算法,不要冒泡啊之类慢的,更不要来接口了;代码是少没几行,效率也太不行了。
1、KEY数组不要变,仅要VALUE按KEY排序的结果。
2、有阀值,也就是说,当KEY小于一定程度时,例如0,那么0,0,-100,-1024对应的VALUE的元,0,2,8,9(可以不是这个顺序,不然不也要排序了)放在排序结果之后。最好返回排序结果中从哪个元素开始小于阀值。
3、KEY相等时,谁在前都可以。
就上面的key和val,若阀值为0则排序结果应该是(key不变的):
val: 1, 3, 4, 5, 6, 7, 0,2,8,9 (返回小于阀值的位置为5或6,也就是7或0所在的位置额)
越快越好…………额,代码和代码速度都是O(∩_∩)O~
key: 0, 120, -100, 97, 66, 66, 34, 2, -1024, 0……
val: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9……
按KEY(有相等的)对VALUE进行排序,要求是:
0、最好是快速排序算法,不要冒泡啊之类慢的,更不要来接口了;代码是少没几行,效率也太不行了。
1、KEY数组不要变,仅要VALUE按KEY排序的结果。
2、有阀值,也就是说,当KEY小于一定程度时,例如0,那么0,0,-100,-1024对应的VALUE的元,0,2,8,9(可以不是这个顺序,不然不也要排序了)放在排序结果之后。最好返回排序结果中从哪个元素开始小于阀值。
3、KEY相等时,谁在前都可以。
就上面的key和val,若阀值为0则排序结果应该是(key不变的):
val: 1, 3, 4, 5, 6, 7, 0,2,8,9 (返回小于阀值的位置为5或6,也就是7或0所在的位置额)
越快越好…………额,代码和代码速度都是O(∩_∩)O~
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货