薯队长写了一篇笔记草稿,请你帮忙输出最后内容。

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牛客网笔试整理】小红书笔试题相关推荐

  1. 【牛客网笔试整理】美团点评 笔试整理

    链接:https://www.nowcoder.com/questionTerminal/29d1622d47514670a85e98a1f47b8e2d 来源:牛客网 已知一种新的火星文的单词由英文 ...

  2. 牛客网-4 腾讯2016笔试题

    30 小明设计了如下的学籍管理系统: 已知关系:学籍(学号,学生姓名) PK=学号 成绩(科目号,成绩,学号) PK=科目代码,FK=学号 已有表记录如下,请给出能够插入的成绩记录 正确答案: B D ...

  3. 牛客网java_牛客网笔试Java输入输出救命模版

    被牛客网笔试输入输出坑过的看过来吧! 系统给你的输入文本是这样的,第一行两个数字是 矩阵的 行数 列数,第二行是矩阵搜索起点的坐标,剩下的行是矩阵里面的内容.如果是两个test case 就是这样的文 ...

  4. 2021 牛客网笔试总结 01

    文章目录 牛客网笔试 关于TCP/IP网络接口层的描述是错误的 TCP与UDP说法错误的 async await描述错误的 不属于Location对象的属性 BFC js错误类型 flex布局 fle ...

  5. 剑指Offer——小米+小红书笔试题+知识点总结

    #剑指Offer--小米+小红书笔试题+知识点总结 ##情景回顾 时间:2016.9.23 19:00-21:00 2016.9.24 15:00-17:00 地点:山东省网络环境智能计算技术重点实验 ...

  6. 【牛客】网易2018实习生招聘笔试题——数据分析师实习生解析

    [牛客]网易2018实习生招聘笔试题--数据分析师实习生解析 * 选择题根据牛客网下方讨论整理,三道大题均为自己答案,欢迎大家讨论并给予指正. (https://www.nowcoder.com/te ...

  7. 牛客网最热门的 Java 面试题库(附答案),终于整理好了

    前言 网上有太多的 Java 面试题库了,但是大部分潦潦草草,没有知识储备得很难看下去,看完后也不会留下印象.有没有这样的题库 ? 图文并茂,易于理解,代码讲解,题目高频? 我的答案是有! 耗时 3 ...

  8. 牛客网笔试真题 2021 阿里巴巴编程题(4星)题解(1-5)

    2021阿里巴巴校招笔试真题_Java工程师.C++工程师_牛客网 1.小强现在有n个物品,每个物品有x,y两种属性和.他想要从中挑出尽可能多的物品满足以下条件:对于任意两个物品 i 和 j ,满足( ...

  9. 2020面试美团的朋友看过来,牛客网搜集整理2018—2020美团面筋需要的自行领取

    美团一面: 自我介绍 学校课程 计网:OSI七层模型 应用层协议了解多少 DNS和Http在什么层 TCP.UDP区别 一般在什么层操作 学校学过的语言 Java三大特性 怎么体现多态 private ...

最新文章

  1. python networkx教程_如何在python中使用networkx绘制有向图?
  2. 十二、解析H.264码流的宏块结构(上)
  3. 网络推广产品中网站的标题如何设置更利于SEO?
  4. 【IDEAEclipse】2、从Eclipse转移到IntelliJ IDEA一点心得
  5. 隐藏滚动条,保留鼠标滚动效果
  6. iOS7下隐藏status bar的详细研究
  7. 零信任策略下云上安全信息与事件管理实践
  8. 多点生活在 Service Mesh 上的实践
  9. Ansible 管理windwos服务器(一)
  10. Apache Maven 3.0.3 (yum) 安裝 (CentOS 6.4 x64)
  11. 按钮3D分层悬停效果
  12. ubuntu18机器学习环境安装基于anaconda
  13. 几种常见的Java排序算法
  14. oracle便携智能投影,洁牙设备又添一将!OraCleen S 智能便携牙刷
  15. 前端低代码工具amis使用文档
  16. java 迷你dvd_java基础迷你DVD系统
  17. Unity使用艺术字体
  18. ISIS区域及IS-level对邻接关系建立的影响
  19. 用animation做无缝匀速滚动
  20. html5在线天数计时器,JS实现动态倒计时功能(天数、时、分、秒)

热门文章

  1. 【机器学习】主成分分析
  2. Java 反射方法的运用(通过反射创建对象)
  3. 直方图的水量--木桶原理
  4. java表示新年快乐,关于新年快乐祝贺语
  5. 核电站数字化仪控系统与传统控制系统的比较
  6. DingTalk - 如何设置钉钉群直播静音?
  7. 计算机打字键盘亮怎么设置,怎么解决电脑键盘灯亮不能打字 解决电脑键盘灯亮不能打字的方法...
  8. android8.0画中画功能,支持画中画功能:华为Mate 9运行安卓8.0亮相
  9. 拾壹博客的启动及一些注意事项
  10. java怎么设置安全设置,win10系统打开java显示应用程序已安全设置被阻止的具体技巧...