Leetcode: First Missing Positive# JobHunting - 待字闺中p*22012-05-28 07:051 楼我有个把数置负数的算法。但是记得有一个更好的算法。但是当时没注意收集情报。大家来说说最好的算法是什么?
v*d2012-05-28 07:052 楼leetcode 上面的算法就已经很好了吧?已经是O(n)了,难道有比O(N)更好的?【在 p*****2 的大作中提到】: 我有个把数置负数的算法。但是记得有一个更好的算法。但是当时没注意收集情报。: 大家来说说最好的算法是什么?
l*82012-05-28 07:053 楼O(n)的算法好几个, 什么算最好?我喜欢用这个swap的算法int firstMissingPositive(int A[], int n){for (int i=0; iwhile (1<=A[i] && A[i] <=n && A[A[i]-1]!=A[i])swap(A[i], A[A[i]-1]);for (int i=0; iif (A[i] != i+1)return i+1;return n+1; }
a*o2012-05-28 07:054 楼找出最大数,开个bit vector?【在 p*****2 的大作中提到】: 我有个把数置负数的算法。但是记得有一个更好的算法。但是当时没注意收集情报。: 大家来说说最好的算法是什么?
p*22012-05-28 07:056 楼这个不错呀longway2008。膜拜一下。【在 l*********8 的大作中提到】: O(n)的算法好几个, 什么算最好?: 我喜欢用这个swap的算法: int firstMissingPositive(int A[], int n): {: for (int i=0; i: while (1<=A[i] && A[i] <=n && A[A[i]-1]!=A[i]): swap(A[i], A[A[i]-1]);: for (int i=0; i: if (A[i] != i+1): return i+1;
f*m2012-05-28 07:057 楼哪位大侠能告知思路吗?【在 l*********8 的大作中提到】: O(n)的算法好几个, 什么算最好?: 我喜欢用这个swap的算法: int firstMissingPositive(int A[], int n): {: for (int i=0; i: while (1<=A[i] && A[i] <=n && A[A[i]-1]!=A[i]): swap(A[i], A[A[i]-1]);: for (int i=0; i: if (A[i] != i+1): return i+1;
h*72012-05-28 07:0510 楼leetcode 上面的算法在哪里?我怎么没有找到呀。 [挠头]请指点。多谢!【在 v********d 的大作中提到】: leetcode 上面的算法就已经很好了吧?: 已经是O(n)了,难道有比O(N)更好的?
h*72012-05-28 07:0511 楼请问,这里的n是怎么决定的?【在 l*********8 的大作中提到】: O(n)的算法好几个, 什么算最好?: 我喜欢用这个swap的算法: int firstMissingPositive(int A[], int n): {: for (int i=0; i: while (1<=A[i] && A[i] <=n && A[A[i]-1]!=A[i]): swap(A[i], A[A[i]-1]);: for (int i=0; i: if (A[i] != i+1): return i+1;
v*d2012-05-28 07:0513 楼leetcode 上面的算法就已经很好了吧?已经是O(n)了,难道有比O(N)更好的?【在 p*****2 的大作中提到】: 我有个把数置负数的算法。但是记得有一个更好的算法。但是当时没注意收集情报。: 大家来说说最好的算法是什么?
l*82012-05-28 07:0514 楼O(n)的算法好几个, 什么算最好?我喜欢用这个swap的算法int firstMissingPositive(int A[], int n){for (int i=0; iwhile (1<=A[i] && A[i] <=n && A[A[i]-1]!=A[i])swap(A[i], A[A[i]-1]);for (int i=0; iif (A[i] != i+1)return i+1;return n+1; }
a*o2012-05-28 07:0515 楼找出最大数,开个bit vector?【在 p*****2 的大作中提到】: 我有个把数置负数的算法。但是记得有一个更好的算法。但是当时没注意收集情报。: 大家来说说最好的算法是什么?
p*22012-05-28 07:0517 楼这个不错呀longway2008。膜拜一下。【在 l*********8 的大作中提到】: O(n)的算法好几个, 什么算最好?: 我喜欢用这个swap的算法: int firstMissingPositive(int A[], int n): {: for (int i=0; i: while (1<=A[i] && A[i] <=n && A[A[i]-1]!=A[i]): swap(A[i], A[A[i]-1]);: for (int i=0; i: if (A[i] != i+1): return i+1;
f*m2012-05-28 07:0518 楼哪位大侠能告知思路吗?【在 l*********8 的大作中提到】: O(n)的算法好几个, 什么算最好?: 我喜欢用这个swap的算法: int firstMissingPositive(int A[], int n): {: for (int i=0; i: while (1<=A[i] && A[i] <=n && A[A[i]-1]!=A[i]): swap(A[i], A[A[i]-1]);: for (int i=0; i: if (A[i] != i+1): return i+1;
h*72012-05-28 07:0521 楼leetcode 上面的算法在哪里?我怎么没有找到呀。 [挠头]请指点。多谢!【在 v********d 的大作中提到】: leetcode 上面的算法就已经很好了吧?: 已经是O(n)了,难道有比O(N)更好的?
h*72012-05-28 07:0522 楼请问,这里的n是怎么决定的?【在 l*********8 的大作中提到】: O(n)的算法好几个, 什么算最好?: 我喜欢用这个swap的算法: int firstMissingPositive(int A[], int n): {: for (int i=0; i: while (1<=A[i] && A[i] <=n && A[A[i]-1]!=A[i]): swap(A[i], A[A[i]-1]);: for (int i=0; i: if (A[i] != i+1): return i+1;
j*s2012-05-28 07:0523 楼基本思路是对于A[],[1..A.length+1],first missing 在这个区间里面,第一遍遍历数组把A[i]换到A[i]-1的位置上,第二遍返回第一个A[i] != i+1的数
j*s2012-05-28 07:0524 楼基本思路是对于A[],[1..A.length+1],first missing 在这个区间里面,第一遍遍历数组把A[i]换到A[i]-1的位置上,第二遍返回第一个A[i] != i+1的数