y*a
3 楼
O(nlog n)
把临近的奇数换到偶数(index)上
void weirdSort(int[]A) {
assert((A.length&1)==1);
Arrays.sort(A);
for (int i=1;i+1 {A[i]^=A[i+1];A[i+1]^=A[i];A[i]^=A[i+1];}
}
把临近的奇数换到偶数(index)上
void weirdSort(int[]A) {
assert((A.length&1)==1);
Arrays.sort(A);
for (int i=1;i+1
}
p*n
6 楼
先排序就得nlogn
然后再比较奇偶 n
所以总体还是O(nlogn)
然后再比较奇偶 n
所以总体还是O(nlogn)
l*b
7 楼
其实不用奇偶吧 只要两两比较数字 把不满足要求的 和下一个数字对调 就好啦。
比如 7,8 。7的位置应该是大数, 但是它又比8小 所以就和8调换 这样变成 8,7。 就
一定满足啦 因为8肯定是因为比7大才被调换的 所以一定也比7前面的数字大。
说得不太清楚 试一下就好啦。
比如 7,8 。7的位置应该是大数, 但是它又比8小 所以就和8调换 这样变成 8,7。 就
一定满足啦 因为8肯定是因为比7大才被调换的 所以一定也比7前面的数字大。
说得不太清楚 试一下就好啦。
p*n
8 楼
5< 6 > 2 < 3 前4个数字都是对的, 突然第五个数字出现个1000 你怎么对调?怎么
保证O(n)?
保证O(n)?
s*7
10 楼
我觉得O(n) 可以做
1. 把无序的array给heapify
2. 建立binary tree, 建的方法是 Ai 的左边 是 A(2i+1), 右边子节点是 A(
2i + 2)
3. 把这个树, inorder打印就行了
泡这个版多年, 作点贡献 :)
1. 把无序的array给heapify
2. 建立binary tree, 建的方法是 Ai 的左边 是 A(2i+1), 右边子节点是 A(
2i + 2)
3. 把这个树, inorder打印就行了
泡这个版多年, 作点贡献 :)
A*0
11 楼
这题我感觉有个陷阱——Duplicates,当duplicate数超过数组长度一半时无解。
而且有duplicate时只有sort的办法最好,其他好些办法都不行。
而且有duplicate时只有sort的办法最好,其他好些办法都不行。
相关阅读
opt extension状态查不到招聘信息: san francisco 稳定上市公司 digital content team hiring说说最近的一个Startup面试,再问问后续该怎么办选择Google还是Apple Watch Team我们公司一个老中就是典型的作死的节奏非上市公司 stock option最后一道snapchat面经题,顺求bless烙印不看技术水平看帮派烙印化的Bloomberg 惨遭OUTAGE。 (转载)每天枪MM的钱一点不难,易如反掌,关键是情报。 (转载)也谈H1B请愿,没有工作,没有抽中关于OPT加急的问题adv+pp+csc周一早上收到邮件请问pure storage 的那道map 数据结构题local小公司面试悲剧加拿大狗家招聘夜班opeartion/execution traderTwo Sigma 的 hackerank 相当与 leetcode 的什么难度?WPI和UCR的CS master去哪个?regex match