文档章节

牛客2018.6模拟考编程题

o
 osc_wqha5akl
发布于 2018/06/14 22:43
字数 668
阅读 11
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

emmm,今天的题目不知道怎么评价,感觉不难但是可能是太菜了,感觉时间不够and测试数据有点?emm异常。。

  • 1.牛牛玩牌

  题目如上,比较前三张的大小,模拟前者大于后者的可能数。样例没看懂。。0.3905*45*46是808.3,我模拟出来的可能数是807。(等牛客把模拟编程题再补这题吧)。

  • 2.牛牛数星星

看到m,n<=10w就把撸到一半的暴力扔一边了,思考了一下可以用一个二维数组dp[i][j]存储从(1,1)到(i,j)的矩阵内有多少数据,预处理输入dp[i][j] = dp[i-1][j]+add(add是a[i][1]到a[i][j]有多少星星数,预处理复杂度最大o(10w))

然后在a1,b1;a2,b2中的星星数为dp[x2][y2] -dp[x2][y1-1] -dp[x1-1][y2] + dp[x1-1][y1-1];

大概是这么个意思,总觉得是测试数据有问题,比如a1<a2<=1000这个条件没满足之类的。。过了50%,同上,等题再放出来再补。

  • 3.牛牛走迷宫

没想到这是最简单的一题,裸的bfs求最短路径即可。也是今晚唯一ac的一题。代码如下:

 1     public static void main(String[] args) {
 2         Scanner in = new Scanner(System.in);
 3         while (in.hasNextInt()) {// 注意while处理多个case
 4             int n = in.nextInt();
 5             int res = 0;
 6             int size = 0;
 7             char[][] maze = new char[n][n];
 8             char[] copy;
 9             int dir[][] = {{0,1},{1,0},{-1,0},{0,-1}};
10             Queue<Point> queue = new LinkedList<>();
11             Point gate = null;
12             for(int i = 0;i<n;i++){
13                 copy = in.next().toCharArray();
14                 for(int j = 0;j<n;j++){
15                     maze[i][j] = copy[j];
16                     if(maze[i][j] == '*'){
17                         gate = new Point(i,j);
18                     }
19                 }
20             }
21             //bfs搜索搜到就退出
22             queue.offer(gate);
23             size = 1;
24             int nexti,nextj;
25             boolean goal = false;
26             while(!queue.isEmpty()){
27                 Point next = queue.poll();
28                 for(int i = 0;i<dir.length;i++){
29                     nexti = next.x + dir[i][0];
30                     nextj = next.y + dir[i][1];
31                     if(nexti >=0 && nexti<n && nextj >=0&&nextj<n){
32                         if(maze[nexti][nextj] == '.'){//
33                             queue.offer(new Point(nexti, nextj));
34                             maze[nexti][nextj] = '#';//走过的不能再走,bfs保证每次走到的位置都是最短的步数
35                         }else if(maze[nexti][nextj] == '@'){//搜到就退出并且提前把res+1
36                             res++;
37                             goal = true;
38                             break;
39                         }
40                     }
41                 }
42                 if(goal){
43                     break;
44                 }
45                 if(--size == 0){//如果第res步不能走到入口,记录下一次能走到的size
46                     res++;
47                     size = queue.size();
48                 }
49             }
50             System.out.println(res);
51         }
52     }
53     static class Point{//坐标
54         int x;
55         int y;
56         public Point(int x1,int y1) {
57             x = x1;
58             y = y1;
59         }
60     }

总结的话,还是太菜,这种有时限的题带来的压力还是能让我不断提高的,还是得继续刷题补题。

上一篇: sql注入
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
SQLServer实现split分割字符串到列

网上已有人实现sqlserver的split函数可将字符串分割成行,但是我们习惯了split返回数组或者列表,因此这里对其做一些改动,最终实现也许不尽如意,但是也能解决一些问题。 先贴上某大牛写的s...

cwalet
2014/05/21
9.6K
0
开源渲染器--LuxRender

LuxRender 是一款物理真实的、无偏差的开源渲染器。 LuxRender渲染是根据渲染方程来模拟光的传输,生成物理真实的图像。但LuxRender 只是一款渲染程序而不是3D建模程序,它需要其它3D程序来创...

匿名
2013/03/03
1W
0
全新Web编程的js框架--Flapjax

Flapjax是一种全新的、为满足基于客户端的Web应用的需求而设计的一种js框架。其主要特点包括: 事件驱动, 反应评价 基于web service的事件流抽象 提供web service扩展接口 Flapjax简单易学:...

匿名
2013/04/05
776
0
OSX游戏模拟器--Open Emu

OpenEmu 是一项开源计划,目的是将游戏模拟带入OS X,使用Cocoa、Core Animation和Quartz等现代OS X技术,使用Sparkle进行自动升级。 Open Emu使用模块化构架,支持游戏引擎插件,这意味着O...

匿名
2013/04/10
1.6W
3
C++科学计算库--O2scl

一个面向对象的 C++科学计算库,可用于解方程,最小化,微分,积分,插值,优化,逼近,分析,拟合等。许多类可操作于通用的函数和向量类型。可用于O2scl在Linux,Mac和Windows(Cygwin的)平...

匿名
2012/10/29
4.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

matplotlib基础绘图命令之imshow

欢迎关注”生信修炼手册”! 在matplotlib中,imshow方法用于绘制热图,基本用法如下 import matplotlib.pyplot as plt import numpy as np np.random.seed(123456789) data = np.random...

庐州月光
昨天
0
0
[Bazel]自定义工具链

1 前言 2 Non-Platform 方式 3 Platform 方式 3.1 平台 3.2 工具链 3.3 Platform + Toolchain 实现平台方式构建 4 小结 1 前言 本文会讲述 Bazel 自定义工具链的两种方式,Platform 和 Non-...

别打名名
前天
0
0
浏览器在输入URL后,到底发生了什么?

这是一道面试会经常问的问题,平时虽然很常见的操作,但是探究其底层原理,可能并不是一件简单的事情,于是我从各处搜罗整理下全过程,在这里做分享。 第一步:浏览器输入域名 例如输入:www...

lintao111
前天
0
0
通过注解的方式整合 MyBatis + Spring Boot

目录 目录 1. 前言 2. 整合过程 2.1 新建 Spring Boot 项目 2.2 添加 pom 依赖 2.3 准备数据库 2.4 pojo 层 2.5 dao 层 2.7 controller 层 2.8 入口程序配置 2.9 网页测试 1. 前言 本篇博客主...

村雨遥
前天
0
0
字节跳动AI Lab 秋季正式批招聘

0 1 公司简介 字节跳动AI Lab,成立于2016年,致力于开发为字节跳动内容平台服务的创新技术,不仅仅是进行理论研究,我们的想法还可以通过实验证明和快速跟踪用于产品部署。 人工智能涉及的研...

我爱计算机视觉
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部