现在还不知道怎么算正确答案,请大牛们指点…… 要求design一个Permutation interface. permutation的个数 k 会在初始化的时候 给定。例如,k=3的时候,有如下list,注意是排好序的: A B C A C B B A C B C A C A B C B A 然后要求实现两个函数 bool hasNextPermutation(), E getNextPermutation() //按照顺序返回 请问大家会怎么做呢?
【在 t********e 的大作中提到】 : 现在还不知道怎么算正确答案,请大牛们指点…… : 要求design一个Permutation interface. permutation的个数 k 会在初始化的时候 : 给定。例如,k=3的时候,有如下list,注意是排好序的: : A B C : A C B : B A C : B C A : C A B : C B A : 然后要求实现两个函数
bool next_permutate(std::vector& numbers) { int length = numbers.size(); if (length < 2) return false; bool found = false; int i = length - 1; int j = length - 2; while(!found && j >= 0) { int n1 = numbers[i]; int n2 = numbers[j]; if (n1 > n2) { found = true; int k = i + 1; while (k <= length - 1 && n2 < numbers[k]) { ++k; } //swap k+ 1, j int n = numbers[k - 1]; numbers[k - 1] = n2; numbers[j] = n; // reorder numbers[i, ...] for (int p = 0; p < (length - i) / 2; ++p) { numbers[i + p] ^= numbers[length - 1 - p]; numbers[length - 1 - p] ^= numbers[i + p]; numbers[i + p] ^= numbers[length - 1 - p]; } return true; } else { --i; --j; } } // not found, reorder entire vector for (int p = 0; p < length / 2; ++p) { numbers[p] ^= numbers[length - 1 - p]; numbers[length - 1 - p] ^= numbers[p]; numbers[p] ^= numbers[length - 1 - p]; } return true; }
s*h
23 楼
害的我菊花一紧..
z*c
24 楼
首页上有。
【在 a********l 的大作中提到】 : 楼主连这个版也去?
z*3
25 楼
你们女汉子的思路好奇怪
【在 w****n 的大作中提到】 : 用来磨牙是不是很有味道
h*6
26 楼
public static String getNext(String s) { int len = s.length(); int i = len - 1; char[] a = s.toCharArray(); for (; i > 0; --i) { if (s.charAt(i) > s.charAt(i-1)) { break; } } for (int j = len - 1; j >= i; --j) { if (s.charAt(j) > s.charAt(i-1)) { swap(a, i-1, j); } } Arrays.sort(a, i, len); return new String(a); }
i full loaded from 10200-10300 (check my post) and i think i have enough space to exit my position as a frog my account is small
【在 S*********N 的大作中提到】 : : when bears come, you think you can run away? : you will be the dead fish under the paw of bear. lol.
l*a
98 楼
恩恩,跟你比起来都算老实的
【在 x***k 的大作中提到】 : 那看来我同学都是老实人
S*N
99 楼
it is hard to cut his wrist even for a hero. no bears or bull, only your trading time-frames.
【在 T*********s 的大作中提到】 : i full loaded from 10200-10300 (check my post) : and i think i have enough space to exit my position : as a frog my account is small