首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
水晶之夜
2016-09-19 21:15
重庆理工大学 Java
关注
已关注
取消关注
求问0919赛码网完美世界的笔试编程题
一道是游戏补丁升级问题,一道是方块消除,统计剩余方块数量问题。。
感觉鬼了,2道编程题感觉基本没做。。。
提示
全部评论
推荐
最新
楼层
BlZheng
暨南大学 安卓
献上我的代码,可惜就差一点时间就到了...... import java.util.Scanner; public class WanMeiShiJie { public static final int EMPTY = Integer.MAX_VALUE; public static final int RED = 0; public static final int GREEN = 1; public static final int BLUE = 2; public static final int YELLOW = 3; public static final int PURPLE = 4; public static final int[][] p = { {RED,RED,BLUE,BLUE,GREEN,YELLOW,BLUE,YELLOW,RED,PURPLE}, {GREEN,GREEN,GREEN,BLUE,RED,PURPLE,RED,YELLOW,YELLOW,BLUE}, {BLUE,RED,RED,YELLOW,YELLOW,PURPLE,BLUE,GREEN,GREEN,BLUE}, {YELLOW,RED,BLUE,YELLOW,BLUE,RED,PURPLE,GREEN,GREEN,RED}, {YELLOW,RED,BLUE,BLUE,PURPLE,GREEN,PURPLE,RED,YELLOW,BLUE}, {PURPLE,YELLOW,RED,RED,YELLOW,RED,PURPLE,YELLOW,RED,RED}, {YELLOW,YELLOW,GREEN,PURPLE,GREEN,RED,BLUE,YELLOW,BLUE,GREEN}, {RED,YELLOW,BLUE,BLUE,YELLOW,GREEN,PURPLE,RED,BLUE,GREEN}, {GREEN,GREEN,YELLOW,YELLOW,RED,RED,PURPLE,BLUE,BLUE,GREEN}, {PURPLE,BLUE,RED,RED,PURPLE,YELLOW,BLUE,RED,RED,GREEN}}; public static void main(String[] args) { int numR, numG, numB, numY, numP; numR = numG = numB = numY = numP = 0; for(int i = 0; i < p.length; i++){ for(int j = 0; j < p[0].length; j++){ switch (p[i][j]) { case RED: numR++; break; case GREEN: numG++; break; case BLUE: numB++; break; case YELLOW: numY++; break; case PURPLE: numP++; break; default: break; } } } System.out.println("inital :" + numR + " " + numG + " " + numB + " " + numY + " " + numP ); Scanner cin = new Scanner(System.in); while(cin.hasNextLine()){ String str = cin.nextLine(); String[] nums = str.split(" "); for(String num : nums){ int click = Integer.parseInt(num); int x = click / 10; int y = (click - 1) % 10; int color = p[x][y]; int delete = countContinue(p, x, y); switch (color) { case RED: numR -= delete; break; case GREEN: numG -= delete; break; case BLUE: numB -= delete; break; case YELLOW: numY -= delete; break; case PURPLE: numP -= delete; break; default: break; } for(int i = 0; i < p[0].length; i++){ if(p[p.length - 1][i] == EMPTY) moveCols(p, i); } } System.out.println(numR + " " + numG + " " + numB + " " + numY + " " + numP ); } } public static int countContinue(int[][] p, int x, int y){ int color = p[x][y]; int start = x; int count = 1; while(start + 1 < p.length && p[start + 1][y] == color){ start ++; } int idx = start; while(idx - 1 >= 0 && p[idx - 1][y] == color){ count ++; idx--; } dispearCol(p, y, start, count); int beforeY = y - 1; int afterY = y + 1; while(beforeY >= 0 && p[x][beforeY] == color){ dispearCol(p, beforeY, x, 1); beforeY--; count++; } while(afterY < p[0].length && p[x][afterY] == color){ dispearCol(p, afterY, x, 1); afterY ++; count++; } return count; } public static void dispearCol(int[][] p, int col, int start, int count){ int j = start; for(int i = start - count; i >= 0; i--, j--){ p[j][col] = p[i][col]; } for(; j >=0; j--) p[j][col] = EMPTY; } public static void moveCols(int[][] p, int col){ for(int i = col, j = i + 1; j < p[0].length; i++, j++){ for(int k = 0; k < p.length; k++){ p[k][i] = p[k][j]; } } if(col < p[0].length - 1){ for(int k = 0; k < p.length; k++){ p[k][p[0].length - 1] = EMPTY; } } } }
点赞
回复
分享
发布于 2016-09-19 21:34
牛客723207号
吉林大学 安卓
消消乐做了一小时,,
点赞
回复
分享
发布于 2016-09-19 21:16
dmg
中国矿业大学 前端工程师
感觉真的挺难的。。。
点赞
回复
分享
发布于 2016-09-19 22:39
EdisonPan
华南农业大学 Java
补丁那个究竟用什么数据结构放啊,只能白卷了
点赞
回复
分享
发布于 2016-09-19 22:17
pool
东南大学 前端工程师
补丁升级那题可以想象成有向图求最短路径
点赞
回复
分享
发布于 2016-09-19 21:48
牛客135910号
Java
消消乐题目本身错了吧..另外一个是 DFS
点赞
回复
分享
发布于 2016-09-19 21:32
换个马甲就不认识了
重庆大学 Java
第一题写了一半不想写了,写不出来,真心跟你们这些刷acm的没法比....第二题一看题目那么长直接放弃了
点赞
回复
分享
发布于 2016-09-19 21:25
徘徊的路人甲
未填写教育信息 后端
太凶残了
点赞
回复
分享
发布于 2016-09-19 21:23
就是不告诉你
家里蹲大学 C++
第一题我感觉就是最短路径 消消乐没时间做
点赞
回复
分享
发布于 2016-09-19 21:18
superlxing
西安电子科技大学 Java
同求 。。。
点赞
回复
分享
发布于 2016-09-19 21:17
暂无评论,快来抢首评~
相关推荐
07-22 15:08
门头沟学院 运营
大厂实习被mentor嫌弃下班太早了,怎么办
主包在铁厂实习一个月了,不巧进了一个非常忙的组,给我一个实习生都排了很多需求。主包这一个月晚上十点多下班是常事,即使如此,mentor还经常在我收拾东西准备下班的时候叫住我,问你这么早下班要去哪里(那天是9点半,我实在扛不住了),mentor经常十二点下班除此之外,主包还老是被leader压力,大致就是觉得我的成长速度不够快,产出不够多,但是我也才来一个月啊😭😭虽然现在实习确实能学到很多东西,但是每天都很内耗,很怀疑自己,下班了回家也满脑子都是工作上的事,真感觉再这样下去迟早要玉玉了😭。另外,组里是有转正hc的,竞争太激烈了,主包只是一个臭末流211本肯定得不到。现在在犹豫要不要跑路,求...
牛客74745092...:
记住不转正你就是爷
,既然每天能学到东西那就继续干,该几点走几点走,他们爱说说去,感觉学不到东西了再走。何况现在你都受不了这个氛围,就算转正了,过得也会很痛苦,该咋就咋,怂个蛋。
投递快手等公司10个岗位
点赞
评论
收藏
分享
07-26 19:43
快手_广告_Java开发(实习员工)
深势科技 一面
1、自我介绍2、为什么不继续待着了3、介绍实习亮点4、低效的素材你是用什么手段去筛选出来的5、性能优化是怎么优化的(多线程是怎么做的)6、简历上慢SQL是如何排查的呢,怎么优化的7、简历上的动态线程池是怎么搞的8、线程池的核心参数设置多少呢9、比如3核8g的资源,你会设置多少10、怎么看待转到Go或Python语言的11、平时用ai多呢,怎么用的
投递深势科技等公司10个岗位
点赞
评论
收藏
分享
07-20 12:27
门头沟学院 Java
二本学院能就业吗
吸取了大家的建议 把简历布局重新调整了一下,名字哪些隐藏了,会漏马甲的项目名字论文也先去掉了,大家看看还有没有需要补充的,我在想要不要包一个大厂的实习
点赞
评论
收藏
分享
06-19 17:49
郑州大学 电机工程师
26届机械本2110offer
还能找到实习吗😅
点赞
评论
收藏
分享
07-22 11:53
门头沟学院 Java
TP-LINK提前批
终于有一个保底的offer了,但感觉是白菜价
北凝a:
我想问问,提前批的offer 有问你啥时候到岗吗,如果你还想找其他的怎么办
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
滴滴提前批一二三面凉经
6110
2
...
不懂来大厂实习究竟能学到啥?
3942
3
...
鹅厂提前批一面秒挂
3700
4
...
别害怕前端手写,真没想象的难
3514
5
...
科大讯飞-飞星计划-后端笔试
3507
6
...
28届求助,想本科就业
3241
7
...
蔚来武汉Java后端实习一面凉经
2820
8
...
腾讯TEG一面
2725
9
...
滴滴--提前批一二三面(三面链接关了,会赢吗😢,已挂)
2552
10
...
终章
2410
创作者周榜
更多
正在热议
更多
#
工作中哪个瞬间让你想离职
#
28706次浏览
204人参与
#
在职场上,你最讨厌什么样的同事
#
16712次浏览
169人参与
#
选了这个offer,你有没有后悔?
#
593403次浏览
4031人参与
#
机械人,秋招第一次笔试的企业是哪家?
#
41320次浏览
329人参与
#
小米硬件提前批进度交流
#
171240次浏览
1528人参与
#
机械求职避坑tips
#
53586次浏览
381人参与
#
哪些公司校招卡第一学历
#
77136次浏览
323人参与
#
担心入职之后被发现很菜怎么办
#
140238次浏览
810人参与
#
入职以后才知道的校招谎言
#
89195次浏览
588人参与
#
职场常用语录大全
#
4352次浏览
32人参与
#
Offer比较,你最看重什么?
#
192356次浏览
1310人参与
#
华子oc时间线
#
1245445次浏览
6487人参与
#
哪些公司开提前批了?
#
31131次浏览
279人参与
#
风评不好的公司,你会去吗?
#
66969次浏览
470人参与
#
两会劳动法放大招
#
76756次浏览
692人参与
#
应届生初入职场,求建议
#
230567次浏览
2651人参与
#
实习如何「偷」产出?
#
57900次浏览
1416人参与
#
不卡学历的大厂有哪些?
#
34579次浏览
264人参与
#
怎么防止在试用期被辞退
#
129305次浏览
927人参与
#
校招阶段,学历VS技术哪个更重要?
#
20522次浏览
211人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务