前言:
现在大家对“最快速的算法是什么”大概比较重视,你们都需要了解一些“最快速的算法是什么”的相关资讯。那么小编在网络上汇集了一些对于“最快速的算法是什么””的相关资讯,希望你们能喜欢,你们一起来了解一下吧!将提供的数字数组进行排序。
public static void lengthOfLongestSubstring(int[] s, int low, int high) { int i, j, pivot, temp; if(low > high) { return; } i = low; j = high; // 随机选定一个数字,这里默认选择第一个 pivot = s[low]; while(i < j) { // 从最高位向左寻找小于pivot的数 while(s[j] >= pivot && i < j) { j--; } // 从最低位向右寻找大于pivot的数 while(s[i] <= pivot && i < j) { i++; } if(i < j) { temp = s[i]; s[i] = s[j]; s[j] = temp; } } //将基准数字和i与j碰头的数字交换 s[low] = s[i]; s[i] = pivot; //拆分的两个数组继续各自进行排序 lengthOfLongestSubstring(s, low, i - 1); lengthOfLongestSubstring(s, i + 1, high); }
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #最快速的算法是什么