目录

  • 一、笔记草稿
  • 二、笔记精选

一、笔记草稿

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

  1. 输入字符包括,"(" , “)” 和 "<"和其他字符。
  2. 其他字符表示笔记内容。
  3. ()之间表示注释内容,任何字符都无效。 括号保证成对出现。
  4. "<“表示退格, 删去前面一个笔记内容字符。括号不受”<"影响 。
    Input:一行字符串。长度<=10000.
    Output:一行字符串,表示最终的笔记内容。

示例
输入

Corona(Trump)USA<<<Virus

输出

CoronaVirus

分析:
这题考察字符串基本知识,如字符串输入输出、特殊字符处理等,难度应该属于Easy
解题思路:
首先定义两个字符串变量,一个用来读取输入字符串,一个用来储存输出字符串(res)
遍历字符串,对每一个字符做if else判断,因为’(’、’)‘成出现,可以对’(’、’)‘其中一个处理,那么可分为三种情况:
  (1)字符 ==’(’ 时,设置标记值,继续遍历,直到遇到‘)’时跳出循环;
  (2)字符 ==‘<’ 时,如果res不为空,pop掉一个
  (3)字符 == 正常字符时,不断向res中push就完事了。

C++代码实现

#include<iostream>
#include<string>
using namespace std;
int main(){string strs;getline(cin,strs); //从缓冲区读取一行字符串,也可用: cin>>strs;表示string res;int n=0;//遍历strs字符串对 "(" 、"<"和字符分别处理for(int i=0;i<strs.size();i++){if(strs[i] == '(' ){  i++;n++;while(i<strs.size() && n!=0){if(strs[i] == '(')n++;if(strs[i] == ')')n--;if(n==0)  //直到括号内字符全部遍历完成,才跳出循环break;i++;}   }else if(strs[i] == '<'){if(!res.empty())res.pop_back();}else{res.push_back(strs[i]);}}cout<<res<<endl;  //输出目标字符串即可return 0;
}

二、笔记精选

题目描述
薯队长写了n篇笔记,编号从1~n,每篇笔记都获得了不少点赞数。
薯队长想从中选出一些笔记,作一个精选集合。挑选的时候有两个规则:

  1. 不能出现连续编号的笔记。
  2. 点赞总数最多

如果满足1,2条件有多种方案,挑选笔记总数最少的那种。

Input:两行,第一行数字n,表示文章数;第二行数组nums,表示每篇文章的点赞数。
Output:满足条件的点赞总数和选取的文章数,中间用空格分开

示例
输入

4
1 2 3 4

输出

4 2

分析:这题考察的是动态规划知识,由于需要返回选择的文章数,所以需要另外使用数组,在存储dp[i]时同时记录选择次数!难度属于dp中的Easy

解题思路:
初始化两个vector< int >数组:dp,dpNum,
(1)dp[i]表示从0-i满足条件的笔记点赞总数
(2)dpNum表示dp[i]中选取的笔记数
题目类似于dp经典问题:打家劫舍。很容易可以得到状态转移方程:
d p [ i ] = m a x ( d p [ i + 1 ] , d p [ i + 2 ] + n u m s [ i ] ) dp[i] = max(dp[i+1], dp[i+2]+nums[i]) dp[i]=max(dp[i+1],dp[i+2]+nums[i])

C++代码实现

#include<vector>
#include<iostream>
using namespace std;int main() {int n;cin >> n;vector<int> v;for (int i = 0; i < n; i++) {  //读入一个整形数组int tp;cin >> tp;v.push_back(tp);}vector<int> dp(n), dpnum(n);dp[0] = v[0];dp[1] = max(v[0],v[1]); //初始化边界值dpnum[0] = 1;dpnum[1] = 1;for (int i = 2; i < n; i++) { if ((v[i] + dp[i - 2]) > dp[i - 1]) {  //选用了v[i],所以篇数+1dp[i] = v[i] + dp[i - 2];dpnum[i] = 1+ dpnum[i - 2];}else {  //没有选用,所以篇数不变,为前一个dpnum[i - 1]dp[i] = dp[i - 1];dpnum[i] = dpnum[i - 1];}}cout << dp[n-1]<<' '<< dpnum[n - 1]; //输出最多点赞数和篇数return 0;
}

小红书2020校招算法题(三)相关推荐

  1. 小红书2020校招算法笔试题卷一

    小红书2020校招算法笔试题卷一 字符串倒序 薯队长带着小红薯参加密室逃脱团建游戏,首先遇到了反转游戏,小红薯们根据游戏提示收集了多个单词线索,并将单词按要求加一个空格组 成了句子,最终要求把句子按单 ...

  2. 小红书2020校招数据分析笔试题卷四 解析

    小红书2020校招数据分析笔试题卷四 解析 单选题 多选题 填空题 简答题 题目来自小红书2020校招数据分析笔试题卷四 单选题 如果在小红书商城中某一商户给一产品定价,如果按照全网最低价500元定价 ...

  3. 小红书2020校招前端笔试题卷三

    小红书2020校招前端笔试题卷三题目地址 第一题 第一题我做错了以为是选错误的 第二题 第三题 解: JS中的执行机制(setTimeout.setInterval.promise.宏任务.微任务), ...

  4. 小红书2020校招测试开发后端笔试题卷一

    "记录一下做的小红书的笔试" 题目描述: 薯队长写了一篇笔记草稿,请你帮忙输出最后内容. 1.输入字符包括,"(" , ")" 和 &quo ...

  5. 小红书2020校招第7题

    题目描述: 薯队长写了一篇笔记草稿,请你帮忙输出最后内容. 输入字符包括,"(" , ")" 和 "<"和其他字符. 其他字符表示笔记 ...

  6. 小红书2020校招前端笔试题卷一

    题目1-下列说法正确的是()多选 A: requestAnimationFrame(foo) 确保使浏览器在下一次重绘之前调用 foo 方法B: 在 addEventListener 的处理方法中使用 ...

  7. 剪绳子 算法_[校招-算法题]动态规划

    动态规划(Dynamic Programming)是面试中非常常见的一种算法,可以解决很多复杂问题. 核心算法: 定义状态:dp[i],一个数组,具体几维根据问题定. 状态转移方程:dp[i] = b ...

  8. 招聘 | 小红书招聘NLP算法工程师(社招,预训练方向)

    进NLP群->加入NLP交流群 小红书招聘NLP算法工程师(社招,预训练方向) 岗位职责 候选人入职后将从事NLP预训练模型方面的工作,包括BERT.GPT等大模型的预训练及其在业务上的应用. ...

  9. 【小红书】2020校招编程题

    目录 1.薯券使用问题 2.笔记草稿 3.笔记精选 4.倒卖战利品 5.字符串倒序 6.迷宫游戏 1.薯券使用问题 某小红薯在小红书的活动中抽奖中了一定价值的薯券,这些薯券可以用来购买一批商品,求有多 ...

最新文章

  1. C++中Ansi、Unicode、UTF8字符串之间的转换和写入
  2. android sdk版本控制,1. 统一SDK版本管理配置
  3. 一文读懂P Quant与 Q Quant ,量化交易与金融工程
  4. web浏览器录音:web audio api
  5. jQuery停止动画
  6. 字符串静态顺序结构C/C++实现(数据结构严蔚敏版)
  7. php json 不转义,php json_encode中文不转义
  8. react dispatch_梳理下redux、mobx 在react的应用
  9. python3编译成exe运行_python3.x的程序如何打包成exe可执行文件
  10. 俺是一个IT女白领?
  11. Android性能优化 -- 自启动管理
  12. 上交计算机系专硕学费,上海交通大学2021级专硕学费再涨,最高翻3倍!@上海考研党...
  13. python找列表中相邻数的个数_利用python求相邻数的方法示例
  14. EVE模拟器关联CRT与Wireshark
  15. linux系统中同时开启wifi与热点的办法
  16. 超导量子计算机最新报道,量子效应的量子计算机,在高温超导体加持下,或将迎来重大突破!...
  17. python--真气网监测站点数据的抓取
  18. 【人工智能项目】深度学习实现10类猴子细粒度识别
  19. Python/excel:正态分布直方图
  20. 红外线测速仪 简易实现

热门文章

  1. 斯科特.杨《如何高效学习》
  2. 查看Git用户名/密码/邮箱,及设置git配置
  3. ICT生态最缺的是什么?人才,还是人才!
  4. 知识付费App要如何进行开发?
  5. intel gfx driver --- AGPGART
  6. PL/SQL 002---PL/SQL的基本能概念--2.1功能特点--2.1.1结构化程序设计
  7. 很落地的chatgpt应用场景——批量制作抖音爆款带货文案并直接SEO霸屏1 小时前
  8. VC的resources.h中各项的意涵
  9. 戴森《2022年全球头发研究报告》重磅发布 未来拟斥资5亿英镑实现20项全新科技
  10. codevs 1083