标题:淘宝笔试题
只看楼主
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
得分:0 
我上面所写的,是让一个用户成为有效用户,并让他们加好友,与删除好友的方法。
当然,如果是我,我可能会出某个条件,使一个用户成为无效的用户。
如:欠费了,作弊了,或者长时间处于不活动状态等等。
这些用户无效,也就不会给予有效用户的功能。




[ 本帖最后由 cosam 于 2011-10-12 12:09 编辑 ]
2011-10-12 12:07
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
得分:0 
以下是引用cosam在2011-10-12 12:07:19的发言:

我上面所写的,是让一个用户成为有效用户,并让他们加好友,与删除好友的方法。
当然,如果是我,我可能会出某个条件,使一个用户成为无效的用户。
如:欠费了,作弊了,或者长时间处于不活动状态等等。
这些用户无效,也就不会给予有效用户的功能。


你没发现好友关系是单向的吗?

你能判断加了好友的两个user,在单个user映射的表里是好友,而在对方的映射里面 自己却不是对方的好友。
2011-10-12 12:25
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
得分:0 
这就验证了4楼的问题了。
无效用户是什么概念?
(跑跑卡丁车的帐号在2年内没登陆,这个帐号就会成为无效用户,所以我的帐号现在是登不上了,前段时间试过,我2006年的帐号。)
这里是给注册用户上id,所有有id的用户是有效的。
除非你已经给出一套存在的数据库。但题目没有这个前题。(或者是掏宝那边先叫你写几个用户,然后再写个程序去判断自己写的用户,是有效或者是无效,那么这道题目也出得太无语了。)
只要按你的说法`那么我说的id_list没有数据,也就为空,这用户也就是无效。
好比我新建一个QQ,里面没有好友,也就是无效用户,企鹅就不让我享受用户的功能,包括加好友的功能,我加不了好友,那么我这一辈子就是无效用户,那注册用户也就无用,这不矛盾么?

按照你的说话,好吧,他们单向(我改过来),但也就只要一条链表也就解决,但他就是不能解决我所提出的问题,所以我对这个题目的“目的性”比较的注重。淘宝出这条题目如果这样出,就好比我这样的数据类型.
`
class A//判断h的值;如果是“0”则有效,如果是"1"则无效;
{
public:
    A():h(1){}
private:
    int h;
};
这就是一个无语的结果。
这是一条永远无效的数据,因为他默认就是1,一建立对象就是无效的。

[ 本帖最后由 cosam 于 2011-10-12 12:57 编辑 ]
2011-10-12 12:55
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
得分:0 
以下是引用cosam在2011-10-12 12:55:25的发言:

这就验证了4楼的问题了。
无效用户是什么概念?
(跑跑卡丁车的帐号在2年内没登陆,这个帐号就会成为无效用户,所以我的帐号现在是登不上了,前段时间试过,我2006年的帐号。)
这里是给注册用户上id,所有有id的用户是有效的。
除非你已经给出一套存在的数据库。但题目没有这个前题。(或者是掏宝那边先叫你写几个用户,然后再写个程序去判断自己写的用户,是有效或者是无效,那么这道题目也出得太无语了。)
只要按你的说法`那么我说的id_list没有数据,也就为空,这用户也就是无效。
好比我新建一个QQ,里面没有好友,也就是无效用户,企鹅就不让我享受用户的功能,包括加好友的功能,我加不了好友,那么我这一辈子就是无效用户,那注册用户也就无用,这不矛盾么?

按照你的说话,好吧,他们单向(我改过来),但也就只要一条链表也就解决,但他就是不能解决我所提出的问题,所以我对这个题目的“目的性”比较的注重。淘宝出这条题目如果这样出,就好比我这样的数据类型.
`
class A//判断h的值;如果是“0”则有效,如果是"1"则无效;
{
public:
    A():h(1){}
private:
    int h;
};
这就是一个无语的结果。


没人关心你跑跑卡丁车,没人关心QQ。 能不能别扯太远。
你如果只有一个单链表,怎么搞定哪个user 是无效的。(题目已经讲很清楚了,无效就是 自己没有好友,也没被别人加为好友。)
2011-10-12 13:00
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
得分:0 
回复 14楼 Devil_W
traver自己的链表,看有没有对于方的id,而不用管对方有没有我的id.
如果有就返回T没有就返回F;这样应当可以。
2011-10-12 13:03
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
得分:0 
好了,呵呵,我想得有点多。
就这样吧,不要相前面一些贴子,都吵了起来。
2011-10-12 13:06
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
得分:0 
以下是引用cosam在2011-10-12 13:03:13的发言:

traver自己的链表,看有没有对于方的id,而不用管对方有没有我的id.
如果有就返回T没有就返回F;这样应当可以。


travel自己的链表只能判断自己有没有加别人,不能判断别人有没有加自己。

能判断是否是无效用户吗?
2011-10-12 13:14
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
得分:0 
其实都行啦,一条两条。
我用对象的方式来想,所以每个用户都是一个对象,因为所有的用户都要traver自己的链表,
就可以知道谁是有效的了。

用户A、用户B、用户C;分别traver自己,只要在自己表里的,就是有效的了嘛。
比如(A表里没任何用户id;那分别看看B与C的表有没有A的id。就可以知道A是不是有效了)
`
当然你的算法会很直观,这个交流起来会很好。
我这个算起来会有点麻烦。
我想,都是可以的了。



[ 本帖最后由 cosam 于 2011-10-12 13:30 编辑 ]
2011-10-12 13:25
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
得分:3 

数据结构:
   用户Id
   好友表:Id链表
   被加表:Id链表
   时间:最后一次登录的时间
ad1(); 加好友      修改好友表和被加好友的被加表
ad2();互好友       修改两用户的好友表和被加表
其他函数按需编制
服务器定期遍历判断最后一次登录时间与遍历时时间超过某一定值时若好友表和被加表为空删除此结点



[ 本帖最后由 ileelsai 于 2011-10-12 18:03 编辑 ]
2011-10-12 18:02
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
得分:0 
以下是引用cosam在2011-10-12 13:25:08的发言:

其实都行啦,一条两条。
我用对象的方式来想,所以每个用户都是一个对象,因为所有的用户都要traver自己的链表,
就可以知道谁是有效的了。

用户A、用户B、用户C;分别traver自己,只要在自己表里的,就是有效的了嘛。
比如(A表里没任何用户id;那分别看看B与C的表有没有A的id。就可以知道A是不是有效了)
`
当然你的算法会很直观,这个交流起来会很好。
我这个算起来会有点麻烦。
我想,都是可以的了。


你那个是不可以的。
2011-10-12 20:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-352138-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.682573 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved