【2020牛客网笔试整理】小红书笔试题
薯队长写了一篇笔记草稿,请你帮忙输出最后内容。
1.输入字符包括,"(" , “)” 和 "<“和其他字符。
2.其他字符表示笔记内容。
3.()之间表示注释内容,任何字符都无效。 括号保证成对出现。
4.”<“表示退格, 删去前面一个笔记内容字符。括号不受”<"影响 。
简单来说,就是括号中的都去掉,<号前边的去掉;
这道题我的思路局限于遇到(,从这个下标开始找下一个),从而导致不能准确的判断出有一对以上的括号时是做法;
看了评论是将坐标记录下来,遇到)直接找到之前记录的坐标;
import java.util.Scanner;/*** 薯队长写了一篇笔记草稿,请你帮忙输出最后内容。* 1.输入字符包括,"(" , ")" 和 "<"和其他字符。* 2.其他字符表示笔记内容。* 3.()之间表示注释内容,任何字符都无效。 括号保证成对出现。* 4."<"表示退格, 删去前面一个笔记内容字符。括号不受"<"影响 。*/
public class Main {public static String removeString(String s){if(s==null){return null;}StringBuffer sb=new StringBuffer();int i=0;while (i<s.length()){if(s.charAt(i)=='('){int j=i;for(;j<s.length();j++){sb.append(s.charAt(j));if(s.charAt(j)==')'){sb.delete(i,j+1);i=j;break;}}i=j;}else if(s.charAt(i)=='<'){sb.deleteCharAt(sb.length()-1);}else {sb.append(s.charAt(i));}i++;}return sb.toString();}public static void main(String[] args) {Scanner scanner=new Scanner(System.in);String s=scanner.nextLine();System.out.println(removeString(s));}
}
这里需要注意,delect方法是左闭右开区间;
记住维护i;
薯队长最近在玩一个迷宫探索类游戏,迷宫是一个N*N的矩阵形状,其中会有一些障碍物禁止通过。这个迷宫还有一个特殊的设计,它的左右 边界以及上下边界是连通的,比如在(2,n)的位置继续往右走一格可以到(2,1), 在(1,2)的位置继续往上走一格可以到(n,2)。请问薯队长从起点位置S,最少走多少格才能到达迷宫的出口位置E。
链接:https://www.nowcoder.com/questionTerminal/c356fb7d1678419a9e9aa3c6f5a05765?answerType=1&f=discussion
来源:牛客网
输入描述:
第一行正整数N,接下来N行字符串
’.’表示可以通过
’#’表示障碍物
’S’表示起点(有且仅有一个)
’E’表示出口(有且仅有一个)
对于50%的数据N<10
对于100%的数据N<10^3
输出描述:
输出一个整数。表示从S到E最短路径的长度, 无法到达则输出 -1
示例1
输入
5
.#…
…#S.
.E###
…
…
输出
4
我很讨厌做迷宫相关的题,都是DFS BFS,我明天要恶补一下;
这个看了评论思路也不是很清晰;
在游戏中,击败魔物后,薯队长获得了N件宝物,接下来得把这些宝物卖给宝物回收员来赚点小钱。这个回收员有个坏毛病,每次卖给他一件宝 物后,之后他就看不上比这件宝物差的宝物了。在这个世界中,衡量宝物的好坏有两个维度,稀有度X和实用度H,回收员在回收一个宝物A 后,下一个宝物的稀有度和实用度都不能低于宝物A。那么薯队长如何制定售卖顺序,才能卖给回收员宝物总个数最多。
链接:https://www.nowcoder.com/questionTerminal/2f8a06421eea4dfe837453c8be6cb210?answerType=1&f=discussion
来源:牛客网
输入描述:
第一行一个正整数N。 接下来N行。每行两个整数分别表示X 和 H X1 H1 X2 H2 … XN HN
输入限制: 对于70%的数据:
0<N<10^4
0<Xi<10^6
0<Hi<10^6
100%的数据:
0<N<10^6
0<Xi<10^6
0<Hi<10^6
输出描述:
一个整数,表示最多可以卖出的宝物数
示例1
输入
4
3 2
1 1
1 3
1 2
输出
3
这道题看着题目长,其实比前边的简单,有种做数学的感觉,好好读题理解题意;
二维数组;按照第一列进行排序,如果第一列相同按照第二列排序;然后找出第二列的最长升序子序列;
这个找最长升序子序列的题在力扣中有,有两种解法:一种是动态规划,比较容易理解,dp数组中记录子序列的个数,然后如果下一个比它大,则更新,比它小则不变
https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/dong-tai-gui-hua-she-ji-fang-fa-zhi-pai-you-xi-jia/
public static int lengthOfLIS(int[] nums) {int[] dp = new int[nums.length];// base case:dp 数组全都初始化为 1Arrays.fill(dp, 1);for (int i = 0; i < nums.length; i++) {for (int j = 0; j < i; j++) {if (nums[i] > nums[j])dp[i] = Math.max(dp[i], dp[j] + 1);}}int res = 0;for (int i = 0; i < dp.length; i++) {res = Math.max(res, dp[i]);}return res;}
一种是二分查找算法;理解的不透彻;
public class numShow {public static int numShow(int n,int [][]show){Arrays.sort(show, (a,b)->a[0]!=b[0]?a[0]-b[0]:a[1]-b[1]);int []arr=new int[n];for(int i=0;i<n;i++){arr[i]=show[i][1];}int []dp=new int[n];int res=0;for(int num:arr){int l=0,r=res;while (l<r){int mid=(l+r)/2;if(dp[mid]<num){l=mid+1;}else {r=mid;}}if(l==res){res++;}dp[l]=num;}return res;}public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int [][]arr=new int[n][2];for(int i=0;i<n;i++){for(int j=0;j<2;j++){arr[i][j]=scanner.nextInt();}}// int [][]arr={{3,2},{1,1},{1,3},{1,2}};System.out.println(numShow(n,arr));}
}
【2020牛客网笔试整理】小红书笔试题相关推荐
- 【牛客网笔试整理】美团点评 笔试整理
链接:https://www.nowcoder.com/questionTerminal/29d1622d47514670a85e98a1f47b8e2d 来源:牛客网 已知一种新的火星文的单词由英文 ...
- 牛客网-4 腾讯2016笔试题
30 小明设计了如下的学籍管理系统: 已知关系:学籍(学号,学生姓名) PK=学号 成绩(科目号,成绩,学号) PK=科目代码,FK=学号 已有表记录如下,请给出能够插入的成绩记录 正确答案: B D ...
- 牛客网java_牛客网笔试Java输入输出救命模版
被牛客网笔试输入输出坑过的看过来吧! 系统给你的输入文本是这样的,第一行两个数字是 矩阵的 行数 列数,第二行是矩阵搜索起点的坐标,剩下的行是矩阵里面的内容.如果是两个test case 就是这样的文 ...
- 2021 牛客网笔试总结 01
文章目录 牛客网笔试 关于TCP/IP网络接口层的描述是错误的 TCP与UDP说法错误的 async await描述错误的 不属于Location对象的属性 BFC js错误类型 flex布局 fle ...
- 剑指Offer——小米+小红书笔试题+知识点总结
#剑指Offer--小米+小红书笔试题+知识点总结 ##情景回顾 时间:2016.9.23 19:00-21:00 2016.9.24 15:00-17:00 地点:山东省网络环境智能计算技术重点实验 ...
- 【牛客】网易2018实习生招聘笔试题——数据分析师实习生解析
[牛客]网易2018实习生招聘笔试题--数据分析师实习生解析 * 选择题根据牛客网下方讨论整理,三道大题均为自己答案,欢迎大家讨论并给予指正. (https://www.nowcoder.com/te ...
- 牛客网最热门的 Java 面试题库(附答案),终于整理好了
前言 网上有太多的 Java 面试题库了,但是大部分潦潦草草,没有知识储备得很难看下去,看完后也不会留下印象.有没有这样的题库 ? 图文并茂,易于理解,代码讲解,题目高频? 我的答案是有! 耗时 3 ...
- 牛客网笔试真题 2021 阿里巴巴编程题(4星)题解(1-5)
2021阿里巴巴校招笔试真题_Java工程师.C++工程师_牛客网 1.小强现在有n个物品,每个物品有x,y两种属性和.他想要从中挑出尽可能多的物品满足以下条件:对于任意两个物品 i 和 j ,满足( ...
- 2020面试美团的朋友看过来,牛客网搜集整理2018—2020美团面筋需要的自行领取
美团一面: 自我介绍 学校课程 计网:OSI七层模型 应用层协议了解多少 DNS和Http在什么层 TCP.UDP区别 一般在什么层操作 学校学过的语言 Java三大特性 怎么体现多态 private ...
最新文章
- python networkx教程_如何在python中使用networkx绘制有向图?
- 十二、解析H.264码流的宏块结构(上)
- 网络推广产品中网站的标题如何设置更利于SEO?
- 【IDEAEclipse】2、从Eclipse转移到IntelliJ IDEA一点心得
- 隐藏滚动条,保留鼠标滚动效果
- iOS7下隐藏status bar的详细研究
- 零信任策略下云上安全信息与事件管理实践
- 多点生活在 Service Mesh 上的实践
- Ansible 管理windwos服务器(一)
- Apache Maven 3.0.3 (yum) 安裝 (CentOS 6.4 x64)
- 按钮3D分层悬停效果
- ubuntu18机器学习环境安装基于anaconda
- 几种常见的Java排序算法
- oracle便携智能投影,洁牙设备又添一将!OraCleen S 智能便携牙刷
- 前端低代码工具amis使用文档
- java 迷你dvd_java基础迷你DVD系统
- Unity使用艺术字体
- ISIS区域及IS-level对邻接关系建立的影响
- 用animation做无缝匀速滚动
- html5在线天数计时器,JS实现动态倒计时功能(天数、时、分、秒)
热门文章
- 【机器学习】主成分分析
- Java 反射方法的运用(通过反射创建对象)
- 直方图的水量--木桶原理
- java表示新年快乐,关于新年快乐祝贺语
- 核电站数字化仪控系统与传统控制系统的比较
- DingTalk - 如何设置钉钉群直播静音?
- 计算机打字键盘亮怎么设置,怎么解决电脑键盘灯亮不能打字 解决电脑键盘灯亮不能打字的方法...
- android8.0画中画功能,支持画中画功能:华为Mate 9运行安卓8.0亮相
- 拾壹博客的启动及一些注意事项
- java怎么设置安全设置,win10系统打开java显示应用程序已安全设置被阻止的具体技巧...