一亩三分地

 找回密码 注册账号

扫描二维码登录本站


码农求职神器Triplebyte
不用海投
内推多家公司面试

Total Comp Calculator
输入offer信息
系统自动计算每年收入

科技公司如何
用数据分析驱动产品开发
coupon code 250off 立减$250

深入浅出AB Test
从入门到精通
coupon code 250off 立减$250
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 373|回复: 8
收起左侧

[高频题] 给相同的用户打标签

[复制链接] |试试Instant~
我的人缘0

分享帖子到朋友圈
jev9 | 显示全部楼层 |阅读模式
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   91% (22)
 
 
8% (2)    👎

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
每个用户有三列id,只要有一种id相同即视为一个用户,要求对一个dataframe打标签。如:
input:
a,b,c
1,33,555
1,44,666
2,44,777
3,55,777
3,66,888
4,77,999
5,88,1000
6,77,333
8,99,555。
output:
a,b,c,label
1,33,555,1
1,44,666,1
2,44,777,1
3,55,777,1
3,66,888,1
4,77,999,2
5,88,1000,3
6,77,333,2
8,99,555,1

上一篇:刷题需要hard一起刷吗
下一篇:GFS、MapReduce和Bigtable大家有好的学习资料吗
我的人缘0
dengzeyu147 2019-7-16 23:38:13 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   88% (125)
 
 
11% (16)    👎
这是什么公司的题 请问
回复

使用道具 举报

我的人缘0
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (30)
 
 
0% (0)    👎
用hashmap做吧 感觉不难
回复

使用道具 举报

我的人缘0
 楼主| jev9 2019-7-17 08:53:47 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   91% (22)
 
 
8% (2)    👎
大大大大晴 发表于 2019-7-17 02:47
用hashmap做吧 感觉不难

感觉不好做,时间复杂度比较高
回复

使用道具 举报

我的人缘0
 楼主| jev9 2019-7-19 10:48:58 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   91% (22)
 
 
8% (2)    👎
更新一下,这道题感觉用传统的方法sort,hashmap的不太好实现,借助图论,对于数据量很大的情况下,用pandas很快可以处理,感觉这也是一个现实工作中常见的case
回复

使用道具 举报

我的人缘0
t__c___ 2019-7-19 12:08:33 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (86)
 
 
1% (1)    👎
这应该是一个问题的开头,focus应该是scaling和distributed环境下的扩展吧?

先考虑内存可以保存的情况下,有几个ID,我会准备maintain几个HashMap<String, HashMap<String, Integer>>,时间复杂度应该挺好控制的,但是牺牲了空间。
再考虑内存保存不了的情况,就要具体问题具体分析了,提出不同的解决思路,列下各自的取舍,然后和面试官讨论看他准备聊哪个。
回复

使用道具 举报

我的人缘0
cikedewu 2019-7-19 15:06:10 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (7)
 
 
0% (0)    👎
感觉这是一道扩容题,要不断DFS把能遍历到的unvisited && 相关 元素都扫到同一个set里,如果都还有 unvisited 的元素,新建set,继续搞
回复

使用道具 举报

我的人缘0
cikedewu 2019-7-19 15:07:10 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (7)
 
 
0% (0)    👎
jev9 发表于 2019-7-19 10:48
更新一下,这道题感觉用传统的方法sort,hashmap的不太好实现,借助图论,对于数据量很大的情况下,用panda ...

我也觉得用Graph的dfs比较好解
回复

使用道具 举报

我的人缘0
cikedewu 2019-7-19 15:47:03 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (7)
 
 
0% (0)    👎
boolean[] visited = new boolean[people.length];
int[] color = new int[people.length];
int color = 1;

for(int p = 0; p < people.length; p++) {
   if(!visited[p]) {
        Set<Integer> hset = new HashSet<>();
        colors[p] = color;
           for(int i = 0; i < people[p].length; i++) {
                dfs(visited, people[p][i], people, hset, int[] colors, int color);
        }
        color++;
   }
}


public void dfs(boolean[] visited, int start, int[][] people,  Set<Integer> hset, int[] colors, int color) {
        if(hset.contains(start)) return;
        hset.add(start);
        for(int i = 0; i < people.length; i++) {
                if(!visited[i] && (hset.contains(people[i][0] || hset.contains(people[i][1]) || hset.contains(people[i][1]))) {
                        if(!hset.contains(people[i][0]) dfs(visited, people[i][0], people, hset, colors, color);
                        if(!hset.contains(people[i][1]) dfs(visited, people[i][1], people, hset, colors, color);
                        if(!hset.contains(people[i][2]) dfs(visited, people[i][2], people, hset, colors, color);
                        visited[i] = true;
                        colors[i] = color;
                }
        }
}

最后把相同index的people和colors值 对应一下,这是我的解法,没有Test,不知道好不好使,也希望大牛能指导一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版||一亩三分地

GMT+8, 2019-8-24 03:23

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表