由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - find max in shifted sorted array
相关主题
Find the Kth smallest element in 2 sortedExtension problem of finding intersection of two sorted array
关于找Kth Min in 2 sorted array的问题(leetcode请进)关于index的问题
Find Median Of Two Sorted Arrays问一个我onsite的题
请帖个Median of Two Sorted Arrays的好解法?我这个 3Sum 怎么过不了leetcode的测试阿
百思不得其解的一道题目求助:3sum总是运行不过
lc新题,贴个刚写的solution贡献Google电话面试题
find median for k sorted arrays发facebook两轮面经,求第三轮经验
a[i] + b[j] = c[k] 的题有靠谱的答案不?一个实际的排序问题
相关话题的讨论汇总
话题: int话题: array话题: return话题: else
进入JobHunting版参与讨论
1 (共1页)
C***y
发帖数: 2546
i*********7
发帖数: 348
2
二分查找
C***y
发帖数: 2546
3
二分以后怎么排除一半呢?

【在 i*********7 的大作中提到】
: 二分查找
w****x
发帖数: 2483
4

二分原理是基于位置而不是数字, 啥时候觉得该向左找右边一半就排除了

【在 C***y 的大作中提到】
: 二分以后怎么排除一半呢?
C***y
发帖数: 2546
5
能稍微详细讲讲不?
谢谢

【在 w****x 的大作中提到】
:
: 二分原理是基于位置而不是数字, 啥时候觉得该向左找右边一半就排除了

a*******y
发帖数: 1040
6
int FindSortedArrayMax(int A[], int N) {
int L = 0;
int R = N - 1;
while (A[L] > A[R]) {
int M = L + (R - L) / 2;
if (A[M] > A[R])
L = M + 1;
else
R = M;
}
return L == 0 ? A[N-1] : A[L-1];
}
B*******1
发帖数: 2454
7
Your code seems not right for this case:
3 5 1 3 3

【在 a*******y 的大作中提到】
: int FindSortedArrayMax(int A[], int N) {
: int L = 0;
: int R = N - 1;
: while (A[L] > A[R]) {
: int M = L + (R - L) / 2;
: if (A[M] > A[R])
: L = M + 1;
: else
: R = M;
: }

l*****a
发帖数: 14598
8
obviously, it just doesn't support dup
once there is dup, u need a full scan

【在 B*******1 的大作中提到】
: Your code seems not right for this case:
: 3 5 1 3 3

B*******1
发帖数: 2454
9
谢谢,我傻了。

【在 l*****a 的大作中提到】
: obviously, it just doesn't support dup
: once there is dup, u need a full scan

C***y
发帖数: 2546
10
谢谢!
但是感觉不太对,比如说3,4,5,1,2
M = 2, A[2] > A[4] ==> L = 3
L实际上应该等于2
我稍微修改了一下你的程序,如下:
int FindSortedArrayMax(int A[], int N) {
int L = 0;
int R = N - 1;
while (L if(A[L] < A[R]) return R;
int M = L + (R - L) / 2;
if (A[M] > A[R])
{
if(L == M) break;
L = M;
}
else
R = M -1;
}
return L;
}

【在 a*******y 的大作中提到】
: int FindSortedArrayMax(int A[], int N) {
: int L = 0;
: int R = N - 1;
: while (A[L] > A[R]) {
: int M = L + (R - L) / 2;
: if (A[M] > A[R])
: L = M + 1;
: else
: R = M;
: }

g**u
发帖数: 504
11
看我的这个行不行?
#include
#include
using namespace std;
int maxShiftedSortArray(vector& array){
int n=array.size();
if(n==1)
return array[0];
int l=0;
int r=n-1;
int m;
while(l m=(r+l)/2;
if(array[m]>=array[l]){
l=m;
}else{
r=m-1;
}
}
return max(array[l],array[r]);
}

【在 C***y 的大作中提到】
: 来自http://www.mitbbs.com/article_t1/JobHunting/32202217_0_1.html
: 请问这题怎么解?
: 谢谢

a*******y
发帖数: 1040
12
怎么不对了,这个return是L-1,not L

【在 C***y 的大作中提到】
: 谢谢!
: 但是感觉不太对,比如说3,4,5,1,2
: M = 2, A[2] > A[4] ==> L = 3
: L实际上应该等于2
: 我稍微修改了一下你的程序,如下:
: int FindSortedArrayMax(int A[], int N) {
: int L = 0;
: int R = N - 1;
: while (L: if(A[L] < A[R]) return R;

C***y
发帖数: 2546
13
嗯,你的应该是对的
我看错了

【在 a*******y 的大作中提到】
: 怎么不对了,这个return是L-1,not L
1 (共1页)
进入JobHunting版参与讨论
相关主题
一个实际的排序问题百思不得其解的一道题目
O(lgk)解法Find the k-th Smallest in Two Sorted Arrayslc新题,贴个刚写的solution
问一道CareerCup里的题目find median for k sorted arrays
leetcode 新题findMin2 大家给挑挑毛病。a[i] + b[j] = c[k] 的题有靠谱的答案不?
Find the Kth smallest element in 2 sortedExtension problem of finding intersection of two sorted array
关于找Kth Min in 2 sorted array的问题(leetcode请进)关于index的问题
Find Median Of Two Sorted Arrays问一个我onsite的题
请帖个Median of Two Sorted Arrays的好解法?我这个 3Sum 怎么过不了leetcode的测试阿
相关话题的讨论汇总
话题: int话题: array话题: return话题: else