// you can also use includes, for example:
// #include <algorithm>
int solution(vector<int> &A) {
// write your code in C++98
//...modify the input array, let all the elements in the right place
for(int i = 0; i < A.size(); ++i)
{
int curIdx = A[i]-1;
while(curIdx >= 0 && curIdx < A.size() && A[curIdx] != curIdx+1)
{
int nextIdx = A[curIdx]-1;
A[curIdx] = curIdx+1;
curIdx = nextIdx;
}
}
//...check if it's a permutation now
for(int i = 0; i < A.size(); ++i)
if(A[i] != i+1) return 0;
return 1;
}[codility]Perm-Check
本文探讨了如何使用排序算法解决数组排列问题,详细解释了算法原理,并通过实例展示了其在实际场景中的应用。


被折叠的 条评论
为什么被折叠?



