首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-30 11:05
长安大学 产品经理
去魅。去魅,对大厂狠狠去魅!
在北京某大厂实习了两个月,真的,每天都感觉好痛苦。实在不知道跟谁说,就跑这儿来念叨念叨吧。公司是传媒类的,我做的算是账号和内容运营这块儿。干过才知道,这活儿吧,说不上多“脏”,但也绝对没多有意思。最大的感受就是:这行真像在做巧克力流水线! 把别人的视频咔咔一顿剪,打上码,换个标题文案,嘿,就成了“我们的”内容了。以前刷微博还挺喜欢某些大V的,现在知道了,背后其实是一茬茬的实习生轮着班在运营。那些你以为很用心、有深度的博主,皮下可能也就是个实习生。在部门眼里,这些账号就是生意。稍微做点女性相关或者稍微尖锐点的内容,立马被毙,生怕“引起争议”,真的束手束脚。实习生在这儿就跟消耗品似的,今天这个走了...
牛客73617529...:
让我去,我告诉你什么是骆驼祥子在世!
我对___祛魅了
点赞
评论
收藏
分享
07-31 17:28
南京航空航天大学 产品经理
感觉mentor经常答非所问,怎么办?
感觉我的mt经常答非所问,和他讲话恰如对牛弹琴,鸡同鸭讲。每次问完我都是黑人问号??但介于实习生的身份也不敢再多问,就只能问其他同事。后来我实在没忍住和其他实习生吐槽了这事,他们也觉得认同我的想法。如果因为他我选择跑路,感觉又不值得,毕竟是一个知名大厂,如果不走,和他工作我就要难受至少3个月……牛友们,咋办呀!
Asy0y0:
显然你已经找到解决方法了 有问题问别人
点赞
评论
收藏
分享
07-08 20:24
江西应用科技学院 C++
鼠鼠27届的还有机会吗
如何写一份好简历
点赞
评论
收藏
分享
08-01 13:47
广东工业大学 财务
合合信息是大厂吗
偶然间在公众号推文上看到了合合信息开始校招了,有人知道这家公司怎么样嘛
投递合合信息等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
9779
2
...
虾皮秋招一面
3324
3
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
3321
4
...
觉得研发高人一等的这辈子有了
2159
5
...
百度提前批 三面
1963
6
...
最强本科✌
1668
7
...
被猿辅导挂了简历,但我想说...
1419
8
...
也是逆天了
1369
9
...
虾皮一面凉经
1299
10
...
上班一周,工资还没拿,先欠公司两千
1263
创作者周榜
更多
正在热议
更多
#
工作中哪个瞬间让你想离职
#
64897次浏览
576人参与
#
找工作如何保持松弛感?
#
92054次浏览
1112人参与
#
中兴秋招
#
206615次浏览
2302人参与
#
如何快速融入团队?
#
18013次浏览
214人参与
#
秋招被确诊为……
#
165389次浏览
774人参与
#
和同事相处最忌讳的是__
#
25746次浏览
250人参与
#
投格力的你,拿到offer了吗?
#
87247次浏览
585人参与
#
虾皮求职进展汇总
#
250180次浏览
1875人参与
#
计算机专业还有必要去大厂卷吗
#
38639次浏览
183人参与
#
你最希望上岸的公司是?
#
135632次浏览
709人参与
#
26届的你,投了哪些公司?
#
48434次浏览
510人参与
#
Offer比较,你最看重什么?
#
194066次浏览
1315人参与
#
简历上的经历如何包装
#
31205次浏览
846人参与
#
我对___祛魅了
#
50821次浏览
457人参与
#
柠檬微趣工作体验
#
6838次浏览
40人参与
#
你遇到最难的面试题目是_
#
17212次浏览
205人参与
#
你跟室友的关系怎么样?
#
7818次浏览
121人参与
#
通信硬件岗投递时间线
#
18884次浏览
69人参与
#
我想象的实习vs现实的实习
#
290462次浏览
2246人参与
#
什么样的背景能拿SSP?
#
40492次浏览
233人参与
#
你最讨厌面试问你什么?
#
29394次浏览
322人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务