一个 最多 由 0,1,2 三 种 元素组成的无序 整数 数组 [0,1,1,1,2,2,0,0 …… .] ,要将其按从小到大排序,时间复杂度为 0(n) 。
区块链毕设网qklbishe.com为您提供问题的解答
一个最多由0,1,2三种元素组成的无序整数数组[0,1,1,1,2,2,0,0…….],要将其按从小到大排序,时间复杂度为0(n)。
//多指针 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型vector */ vector<int> sort(vector<int>& array) { // write code here int i=0, p0=0, p2=array.size()-1; while(i<=p2){ while(array[p0]==0) p0++; if(i<p0)i=p0; while(array[p2]==2) p2--; if(i>p2) break; if(array[i]==0){ swap(array[i],array[p0]); p0++; }else if(array[i]==2){ swap(array[i],array[p2]); p2--; }else if(array[i]==1){ i++; } } return array; } };
03:30
以上就是关于问题一个 最多 由 0,1,2 三 种 元素组成的无序 整数 数组 [0,1,1,1,2,2,0,0 …… .] ,要将其按从小到大排序,时间复杂度为 0(n) 。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训