Redian新闻
>
贾乃亮:还我一个美好的明天
avatar
贾乃亮:还我一个美好的明天# bagua - 娱乐八卦
w*l
1
刚面完,感觉一般,估计挂了....
寒暄,文件里上的project,接下来算法:
find majority element in an array. 我说用hash table,但是空间效率
低,我自己说了个constant space的idea, 写code。 写完问我怎么extend
to最一般的情况, 我说了自己的idea, 然后说什么时间不够了,就不用写代码了,
他理解啥的.....
avatar
h*e
2
圈里圈外都是李小璐出轨的文章,各路英雄好汉都在心疼贾乃亮。我默默看着天空,突
然不习惯莫斯科的温度给我带来的寒冷。
曾经有人说,贾乃亮的爱过于卑微。一个过于卑微的爱情在水深的娱乐圈,想要一起慢
慢变老,那就是痴人说梦。
你是不是也有一个曾经爱你卑微如尘土的人?
你是不是任性的以为他永远不会离开你,可以永远包容你的小任性。
女孩子可以在自己男人面前任性,男人也可以在自己女人面前卑微。但是高高在上的人
,像女王般把自己的男人当成佣人一般看待,那就不是爱了。
我始终相信,爱是相互的,不是一方迁就,一方肆无忌惮的践踏对方的尊严。
能被一个人卑微着爱着是一件何其幸运的事情。
卑微并不是他应该做的,而是他愿意为了爱甘愿放下身段迎合你,让你开心。
所以,身边有一个卑微爱着你的人,你是否可以好好换位思考一番,也让他感受到你对
他的在意。别让一腔柔情渐渐疲惫。我们都不是无所不能的神,可以让你在我心窝子捅
一刀,我还能微笑的说,没关系,我就是犯贱。
呵,没有人喜欢找虐。
好吧,我可以大度点,允许你虐我身体,但你给我带绿帽子,啧啧,我还能委曲求全?
马蓉出轨,王宝强为了维护权利,维护男人的自尊,站出来公开马蓉和宋喆的龌蹉行为
,最后宋喆赔了夫人又折兵,锒铛入狱。马蓉没了王宝强这颗摇钱树,日子也没见到有
做王太太那般舒心,现在不就成了过街老鼠人人喊打?想当初王宝强又何尝不是在痛苦
的边缘苦苦挣扎?娱乐圈还真是扎心,先是马蓉打头炮出轨震惊娱乐圈,紧接而上的就
是白百何出轨风波,呵呵,常在河边走,哪有不湿鞋?苍蝇不叮无缝的蛋,你在那里苍
白无力的靠公关团队来洗白,也依旧逃不过网友的火眼睛睛翻出来的蛛丝马迹。
2018贾乃亮最大的愿望估计是希望这个社会还他一个美好的明天吧。
好事不出门,坏事传千里。
娱乐圈一个事多的地方!
avatar
b*v
3
你的constant space的idea是什么呀


extend
写代码了,
.....

【在 w****l 的大作中提到】
: 刚面完,感觉一般,估计挂了....
: 寒暄,文件里上的project,接下来算法:
: find majority element in an array. 我说用hash table,但是空间效率
: 低,我自己说了个constant space的idea, 写code。 写完问我怎么extend
: to最一般的情况, 我说了自己的idea, 然后说什么时间不够了,就不用写代码了,
: 他理解啥的.....

avatar
s*y
4
想红想疯了123456789
avatar
f*4
5
同问
avatar
s*y
6
想红想疯了123456789
avatar
w*l
7
就是用一个vote变量,把这些数字想像成选举时候的candidate, 让一开始的element =
array[0], 然后从数组第一个元素开始,如果等于element,vote++,如果不相等,
vote--,当 vote 小于0的时候设为1 。(我以前复习的时候从一个人的博客里看来的,觉得挺好,
就记下来了。不是本人原始想法,本人是菜鸟级的).

【在 b******v 的大作中提到】
: 你的constant space的idea是什么呀
:
: 。
: extend
: 写代码了,
: .....

avatar
a*n
8
曹雪芹写书将真事隐
李小璐出轨把假奶亮
avatar
f*4
9
可他只要知道那个数是majority啊,只要碰到相同ele vote++就好了啊
还有,啥叫最一般的情况啊?
谢谢

=
,觉得挺好,

【在 w****l 的大作中提到】
: 就是用一个vote变量,把这些数字想像成选举时候的candidate, 让一开始的element =
: array[0], 然后从数组第一个元素开始,如果等于element,vote++,如果不相等,
: vote--,当 vote 小于0的时候设为1 。(我以前复习的时候从一个人的博客里看来的,觉得挺好,
: 就记下来了。不是本人原始想法,本人是菜鸟级的).

avatar
f*6
10
is this for summer intern or full-time position?
Good luck!
avatar
w*l
11
majority 定义是大于n/2的occurrence, 他问n/k怎么用vote的idea 做,我说用两个
vote变
量。

【在 f****4 的大作中提到】
: 可他只要知道那个数是majority啊,只要碰到相同ele vote++就好了啊
: 还有,啥叫最一般的情况啊?
: 谢谢
:
: =
: ,觉得挺好,

avatar
w*l
12
New Graduate Full Time Position, Mountain View

【在 f******6 的大作中提到】
: is this for summer intern or full-time position?
: Good luck!

avatar
b*v
13
这样的话,要扫描很多次吧?

=
,觉得挺好,

【在 w****l 的大作中提到】
: 就是用一个vote变量,把这些数字想像成选举时候的candidate, 让一开始的element =
: array[0], 然后从数组第一个元素开始,如果等于element,vote++,如果不相等,
: vote--,当 vote 小于0的时候设为1 。(我以前复习的时候从一个人的博客里看来的,觉得挺好,
: 就记下来了。不是本人原始想法,本人是菜鸟级的).

avatar
w*l
14
一次就够了....

【在 b******v 的大作中提到】
: 这样的话,要扫描很多次吧?
:
: =
: ,觉得挺好,

avatar
b*v
15
你第一次的扫描只是对array[0] vote吧
难道不要对array[1]...array[n-1]也做一次vote吗?

【在 w****l 的大作中提到】
: 一次就够了....
avatar
w*l
16
如果这么理解的话那就是多次扫描了,我个人认为constant time可以得到array[i]],
所以整个数
组就是依次扫描了,难道是多次扫描? 不理解中....请指教....

【在 b******v 的大作中提到】
: 你第一次的扫描只是对array[0] vote吧
: 难道不要对array[1]...array[n-1]也做一次vote吗?

avatar
f*4
17
哦,我把majority理解错了
可那样的话,还是只需要统计每个ele的出现次数啊,最后扫描出现次数大于n/2的就是
;这样的话对n/k的也能不做修改直接实现啊(只要比较出现次数大于n/k的就好了)
bless

【在 w****l 的大作中提到】
: majority 定义是大于n/2的occurrence, 他问n/k怎么用vote的idea 做,我说用两个
: vote变
: 量。

avatar
d*8
18
不用的呀,当vote变零的时候 你也要更新Element然后重置vote为一

【在 b******v 的大作中提到】
: 你第一次的扫描只是对array[0] vote吧
: 难道不要对array[1]...array[n-1]也做一次vote吗?

avatar
c*t
19
如果 ele > n/2 楼主的方法可行。如果是n/k, 搂主能不能讲讲两个votes 的方法。
avatar
l*4
20
co-ask

【在 c********t 的大作中提到】
: 如果 ele > n/2 楼主的方法可行。如果是n/k, 搂主能不能讲讲两个votes 的方法。
avatar
f*e
21
how to do that?

【在 w****l 的大作中提到】
: majority 定义是大于n/2的occurrence, 他问n/k怎么用vote的idea 做,我说用两个
: vote变
: 量。

avatar
a*9
22
lz的做法只用到constant space, 扫描一次就够了,
如果统计每个数出现的次数 就不是constant space了

【在 f****4 的大作中提到】
: 哦,我把majority理解错了
: 可那样的话,还是只需要统计每个ele的出现次数啊,最后扫描出现次数大于n/2的就是
: ;这样的话对n/k的也能不做修改直接实现啊(只要比较出现次数大于n/k的就好了)
: bless

avatar
a*9
23
make clear一件事,大于n/k的majority也是只有一个数么?并且所有的数都不超过n/k
吗?

【在 w****l 的大作中提到】
: majority 定义是大于n/2的occurrence, 他问n/k怎么用vote的idea 做,我说用两个
: vote变
: 量。

avatar
w*l
24
不是这个意思, 有可能有两个,比如k=3,那么就是要找出现频率 超过n/3的数, 至于
其他数是不是
也都小于这个数,不清楚....所以我一时没想出什么解法来...sigh.....估计是挂面了
....

/k

【在 a***9 的大作中提到】
: make clear一件事,大于n/k的majority也是只有一个数么?并且所有的数都不超过n/k
: 吗?

avatar
a*9
25
这个code测试了么 是到vote=0的时候往后就换成后面一个element吧

=
,觉得挺好,

【在 w****l 的大作中提到】
: 就是用一个vote变量,把这些数字想像成选举时候的candidate, 让一开始的element =
: array[0], 然后从数组第一个元素开始,如果等于element,vote++,如果不相等,
: vote--,当 vote 小于0的时候设为1 。(我以前复习的时候从一个人的博客里看来的,觉得挺好,
: 就记下来了。不是本人原始想法,本人是菜鸟级的).

avatar
a*9
26
2个变量怎么整?
如果 k = 4, 就有可能有3个大于n/4的元素吧
猜测可以用k-1个vote, 增vote时不用++,用vote+=k-1,减就用--,到0时换成后面的
元素

【在 w****l 的大作中提到】
: majority 定义是大于n/2的occurrence, 他问n/k怎么用vote的idea 做,我说用两个
: vote变
: 量。

avatar
w*l
27
测试过了,是正确的,至于扩展的版本,我还没有完全想明白......不好意思.....

【在 a***9 的大作中提到】
: 这个code测试了么 是到vote=0的时候往后就换成后面一个element吧
:
: =
: ,觉得挺好,

avatar
a*9
28
问一下element的元素不更新?那如果不是arr[0]怎么找的出来啊。。可能我理解错了
你意思

【在 w****l 的大作中提到】
: 测试过了,是正确的,至于扩展的版本,我还没有完全想明白......不好意思.....
avatar
w*l
29
我贴一下code 吧,基本版本,扩展的没想好:
#include
#include
int findMajorityElem(int array[], int n){

int maj_index =0;

int votes = 1;

for (int i = 1; i< n; i++){
if (array[i] == array[maj_index] ){
votes ++;
}else if(votes >0){
votes--;
}else{
maj_index = i;
votes = 1;
}
}

return array[maj_index];
}
//For testing purpose
int main(){
int arr[] ={1,3,3,3,1,2};

int nu
avatar
a*9
30
对的吧。 你还是更新了的

【在 w****l 的大作中提到】
: 我贴一下code 吧,基本版本,扩展的没想好:
: #include
: #include
: int findMajorityElem(int array[], int n){
:
: int maj_index =0;
:
: int votes = 1;
:
: for (int i = 1; i< n; i++){

avatar
b*y
31
Google 电面我挂了
avatar
c*t
32
大于n/k的element, 是不是得把数组无序变有序再找,preprocess: O(nlg(n)),
search time O(n)
avatar
r*1
33
对于[3,1,2,3]这个数组,你的findMajorityElem返回值是2,应该是3.
int findMajorityElem(int array[], int n){

int maj_index =0;

int votes = 1;

for (int i = 1; i< n; i++){
if (array[i] == array[maj_index] ){
votes ++;
}else if(votes >0){
votes--;
}else{
maj_index = i;
votes = 1;
}
}

return array[maj_index];
}
avatar
b*v
34
对,他那个算法有问题

【在 r**********1 的大作中提到】
: 对于[3,1,2,3]这个数组,你的findMajorityElem返回值是2,应该是3.
: int findMajorityElem(int array[], int n){
:
: int maj_index =0;
:
: int votes = 1;
:
: for (int i = 1; i< n; i++){
: if (array[i] == array[maj_index] ){
: votes ++;

avatar
f*4
35
如果不是还有别的条件没讲清楚的话
这个votes的办法是求不出majority的

【在 r**********1 的大作中提到】
: 对于[3,1,2,3]这个数组,你的findMajorityElem返回值是2,应该是3.
: int findMajorityElem(int array[], int n){
:
: int maj_index =0;
:
: int votes = 1;
:
: for (int i = 1; i< n; i++){
: if (array[i] == array[maj_index] ){
: votes ++;

avatar
l*4
36
I have the similar solution.
There is k-1 votes.
each time check the k-1 votes. Here is the pseudocode.
for(i = 0 to n-1)
{
flag = true;
for (j = 0 to k-1)
{
if (a[i] == vote[j])
{
count[j]+=(k-1);
flag = false;
}
if ((a[i]!= vote[j]) &&(count[j] !=0)
{
count[j]--;
}
}
if (flag)
{
for (j = 0 to k-1)
{
if (count[j] == 0)
{
cou

【在 a***9 的大作中提到】
: 2个变量怎么整?
: 如果 k = 4, 就有可能有3个大于n/4的元素吧
: 猜测可以用k-1个vote, 增vote时不用++,用vote+=k-1,减就用--,到0时换成后面的
: 元素

avatar
w*l
37
条件是: more than n/2,不包括n/2,所以我认为那个算法还在这个条件下是work 的
avatar
b*v
38
这样好像是可以的

【在 w****l 的大作中提到】
: 条件是: more than n/2,不包括n/2,所以我认为那个算法还在这个条件下是work 的
avatar
b*n
39
basic idea就是每次pair两个不同的element干掉,到最后剩下的就是majority;
同样的idea应该可以用到大于n/k的情况,每次pair k个不同element干掉,但是这个肯定达不到constant time
avatar
h*6
40
这个就是编程之美超级灌水王的问题。
在大小为n的数组里寻找(k-1)个超过(n/k)的数的复杂度为O(nk),需要空间O(k)
avatar
r*1
41
是。条件也是n出现的次数是大于N/2(不包括这个,所以我的例子不对)

【在 h**6 的大作中提到】
: 这个就是编程之美超级灌水王的问题。
: 在大小为n的数组里寻找(k-1)个超过(n/k)的数的复杂度为O(nk),需要空间O(k)

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。