LeetCode—美团2021秋招 006、007、008、009

美团2021秋招 006 小团的神秘暗号、007 小团的选调计划、008 小团无路可逃、009 小团的装饰物

题目描述:
[006]
小团深谙保密工作的重要性,因此在某些明文的传输中会使用一种加密策略,小团如果需要传输一个字符串 S ,则他会为这个字符串添加一个头部字符串和一个尾部字符串。头部字符串满足至少包含一个 “MT” 子序列,且以 T 结尾。尾部字符串需要满足至少包含一个 “MT” 子序列,且以 M 开头。例如 AAAMT 和 MAAAT 都是一个合法的头部字符串,而 MTAAA 就不是合法的头部字符串。很显然这样的头尾字符串并不一定是唯一的,因此我们还有一个约束,就是 S 是满足头尾字符串合法的情况下的最长的字符串。
很显然这样的加密策略是支持解码的,给出一个加密后的字符串,请你找出中间被加密的字符串 S 。
[007]
美团打算选调 n 名业务骨干到 n 个不同的业务区域,本着能者优先的原则,公司将这 n 个人按照业务能力从高到底编号为 1~n 。编号靠前的人具有优先选择的权力,每一个人都会填写一个意向,这个意向是一个 1~n 的排列,表示一个人希望的去的业务区域顺序,如果有两个人同时希望去某一个业务区域则优先满足编号小的人,每个人最终只能去一个业务区域。
例如 3 个人的意向顺序都是 1 2 3 ,则第一个人去 1 号区域,第二个人由于 1 号区域被选择了,所以只能选择 2 号区域,同理第三个人只能选择 3 号区域。
最终请你输出每个人最终去的区域。
[008]
小团惹小美生气了,小美要去找小团“讲道理”。小团望风而逃,他们住的地方可以抽象成一棵有n个结点的树,小美位于 x 位置,小团位于 y 位置。小团和小美每个单位时间内都可以选择不动或者向相邻的位置转移,很显然最终小团会无路可逃,只能延缓一下被“讲道理”的时间,请问最多经过多少个单位时间后,小团会被追上。
[009]
小团正在装饰自己的书桌,他的书桌上从左到右有 m 个空位需要放上装饰物。商店中每个整数价格的装饰物恰好有一种,且每种装饰物的数量无限多。
小团去商店的时候,想到了一个购买方案,他要让右边的装饰物价格是左边的倍数。用数学语言来说,假设小团的 m 个装饰物价格为 a[1], a[2], …, a[m] ,那么对于任意的 1≤i≤j≤m ,a[j] 是 a[i] 的倍数。
小团是一个节约的人,他希望最贵的装饰物不超过 n 元。现在,请你计算小团有多少种购买的方案?

第006题

import java.util.*;public class test {public static void main(String[] args){Scanner scan = new Scanner(System.in);int n = scan.nextInt();String s = scan.next();char[] ss = s.toCharArray();int i = 0,j = ss.length - 1;int leftB = i, rightB = j;boolean left = true, right = true;for(;i < ss.length && !(!right && !left);i ++, j--){if(ss[j] == 'T' && right){right = false;while(j < ss.length && ss[j] != 'M'){j --;}rightB = j;}if(ss[i] == 'M' && left){while(i < ss.length && ss[i] != 'T'){i ++;}left = false;leftB = i+1;}}System.out.println(s.substring(leftB, rightB));}}

第007题

import java.util.*;public class test {public static void main(String[] args){Scanner scan = new Scanner(System.in);int n = scan.nextInt();boolean[] pos = new boolean[n];for(int i = 0;i < n;i ++){for(int j = 0;j < n;j ++){int target = scan.nextInt();if(!pos[target - 1]){pos[target - 1] = true;System.out.print(target + " ");while(++j < n){  scan.nextInt(); }}}}System.out.println();}}

第008题

import java.util.*;public class test {public static void dfs(int nowPos, List<List<Integer>> edges, int[] recCount, boolean[] visit, int count){List<Integer> nowWay = edges.get(nowPos);recCount[nowPos] = count;for(int i = 0;i < nowWay.size();i ++){int next = nowWay.get(i);if(visit[next])continue;visit[next] = true;dfs(next, edges, recCount, visit, count + 1);visit[next] = false;}}public static void main(String[] args){Scanner scan = new Scanner(System.in);List<List<Integer>> edges = new ArrayList<>();int n = scan.nextInt();int mei = scan.nextInt()-1;int tuan = scan.nextInt()-1;for(int i = 0;i < n;i ++){edges.add(new ArrayList<>());}for(int i = 0;i < n - 1;i ++){int start = scan.nextInt() - 1;int end = scan.nextInt() - 1;edges.get(start).add(end);edges.get(end).add(start);}int[] recMei = new int[n];int[] recTuan = new int[n];int res = 0;boolean[] visit = new boolean[n];visit[mei] = true;dfs(mei, edges, recMei, visit, 0);visit[mei] = false;visit[tuan] = true;dfs(tuan, edges, recTuan, visit, 0);for(int i = 0;i < n;i ++){if(recMei[i] > recTuan[i]){res = Math.max(recMei[i], res);}}System.out.println(res);}}

第009题

import java.util.*;public class test {public static void main(String[] args){Scanner scan = new Scanner(System.in);List<List<Integer>> edges = new ArrayList<>();int n = scan.nextInt();int m = scan.nextInt();int mod = 998244353;int[][] dp = new int[m+1][n+1];     // dp[i][j]  第i个空位,价格为j时的可能情况for(int i = 1;i <= n;i ++){dp[1][i] = 1;}for(int i = 2;i <= m;i ++){     //统一从1开始计数for(int j = 1;j <= n;j ++){for(int k = j;k <= n;k += j){dp[i][k] = (dp[i][k] + dp[i - 1][j]) % mod; //防止在这里就越界}}}int res = 0;for(int i = 1;i <= n;i ++){res = (res + dp[m][i]) % mod;}System.out.println(res);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

POJ1390 Blocks——动态规划——pku1390

经典的动态规划&#xff0c;LRJ神牛的书上经典例题第一题。 开一个三维数组,f[i][j][k]表示将i~j这一段&#xff0c;连上后面的k个格子全部消去所能够获得的最大价值。 状态转移方程&#xff1a; f[i][j][k]Max{ Max{f[i][p][len[j]k]f[p1][j-1][0]}(color[p]color[j] and i<…

最大子矩阵求法详解

最大子矩阵&#xff08; $ s^2 $ 枚举障碍与 $ n \times m $ 悬线法&#xff09; 题目大意&#xff1a; 有 $ s $ 个障碍分布在一个 $ n\times m $ 的矩阵中。现在让你找出其中不包含任何一个障碍的最大子矩阵。 首先我们要引进一个新概念&#xff1a;&#xff08;极大子矩阵&a…

SQLSERVER数据仓库的构建与分析

实例构建过程与分析 1&#xff0e;现在以一个比较简单的实例来分析和探讨MS SQL SERVER 数据仓库的构建过程。实际上数据仓的构建是相当复杂的&#xff0c;他结合了数据仓库的前端技术和很强的业务要求。在这儿只是以一个简单的实例来说明他大致的构建流程。 2&#xff0e;构建…

基于Layui实现的树形菜单页面

基于Layui实现的树形菜单页面具体方法实现方法一&#xff1a;针对Layui模板的前后端统一更新1. 删除2. 添加3. 后端方法二&#xff1a;基于Dtree实现的纯前端树形增删改文中的组件地址具体方法实现 实现树形菜单&#xff0c;本文将给出两种实现方式。 针对Layui前端模板EasyW…

POJ 1723 Soldiers (中位数)

$ POJ~1723~Soldiers $ (中位数) $ solution: $ 这道题说难也不算太难&#xff0c;但是当时自己想的很矛盾。所以还是列一篇题解。 这道题首先比较容易看出来的就是&#xff1a;行和列是两个分开的问题&#xff0c;而且行的移动就是一个仓库选址的板子&#xff0c;直接求中位数…

php中时间轴开发,即显示为“刚刚”、“5分钟前”、“昨天10:23”等

php中时间轴开发&#xff0c;即显示为“刚刚”、“5分钟前”、“昨天10:23”等 其实这个没什么技术含量&#xff0c;当然就直接贴代码&#xff0c;不废话了&#xff08;合肥旅游网&#xff09;&#xff0c; 但是在其实开发中还是蛮有用的&#xff0c;譬如论坛帖子&#xff0c;围…

(一)Windows环境下汇编编程读书笔记

看了一节关于80x86系列处理器简史&#xff0c;不知道云里和雾里&#xff0c;什么晶体管啊&#xff0c;什么什么之类的不知道云里和雾里&#xff0c;看了讲什么都不知道啊&#xff01; 转载于:https://www.cnblogs.com/Nuxgod/articles/692990.html

我的读书清单(持续更新)

我的读书清单&#xff08;持续更新&#xff09; 2017-05-31 《一千零一夜》2006&#xff08;四五年级&#xff09;《中华上下五千年》2008&#xff08;初一&#xff09;《鲁滨孙漂流记》2008&#xff08;初二&#xff09;《钢铁是怎样炼成的》2009&#xff08;初二&#xff09;…

Docker知识点总结及其命令的使用

DockerDocker简介Docker与Tomcat有什么区别&#xff1f;Docker与虚拟机有什么区别&#xff1f;Docker的基本组成Docker的联合文件系统Docker基本命令Docker中的几个重要组件一、容器数据卷二、Dockerfile三、Docker网络虚拟机共享网络的三种方式Docker共享网络的四种方式Docker…

主题:Spring注解入门(转载)

原文链接&#xff1a;http://www.iteye.com/topic/295348 1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的 类的实现&#xff1a; Java代码 public class UserManagerImpl implements UserManager { private UserDao userDao; public void …

sql触发器

在SQL Server里面也就是对某一个表的一定的操作&#xff0c;触发某种条件&#xff0c;从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种&#xff1a;分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器&#xff1f;比如&#x…

XDJM的情意比山高,比海深!!

又是兄弟姐妹们帮我提前过的生日&#xff0c;我们这帮人从SC出来后还没好好聚过&#xff0c;乘这个机会把大家约了出来。星期五整整一天都很快乐&#xff0c;特别是我&#xff0c;NANA&#xff0c;小乔期待着晚上的聚餐&#xff0c;期待着金贸的蛋糕&#xff0c;嘿嘿。。他们好…

最大子矩阵和

最大子矩阵和 $ n^3 $ 算法 $ solution: $ 首先我们不难想到枚举上下左右边界&#xff0c;然后两层循环统计权值和&#xff0c;复杂度 $ O(n^6) $ 。这个我们用前缀和可以省去后面的循环&#xff0c;将复杂度降成 $ O(n^4) $ 。然后我们考虑不枚举上下左右四个边界&#xff0c;…

Springfox-swagger使用详解

Springfox-swagger使用详解什么是Swagger&#xff1f;Swagger的具体使用一、导入依赖二、建立Swagger配置类三、通过Swagger测试接口引用什么是Swagger&#xff1f; 是一个开源的API Doc的框架可以将我们的Controller中的API方法以文档的形式展现&#xff0c;并支持为其添加注…

Android中调用系统已安装的播放器来播放网络流媒体视频

2019独角兽企业重金招聘Python工程师标准>>> 实现思路比较简单几行代码就可以搞定&#xff0c;在界面放一个Button或者带有播放图标的imageview&#xff0c;点击事件中调用本地播放器来播放。 Uri uri Uri.parse("http://218.200.69.66:8302/upload/Media/20…

繁体机文本转换

Encoding big5 Encoding.GetEncoding("big5");Encoding abc Encoding.Default;string s "い瓣.約狥 ";byte[] t Encoding.Convert(big5,abc,abc.GetBytes(s));MessageBox.Show( abc.GetString(t));转载于:https://www.cnblogs.com/frhua/archive/2007/…

数据批量写入

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Reflection;using System.Collections;namespace SQLBulkInsertTest{/// <summary>/// 测试数据批量插入 By RhythmK…

WireShark详解

WireShark详解Wireshark介绍Wireshark使用一、基础数据说明二、指定数据包过滤Wireshark安装Wireshark介绍 Wireshark是一款可以运行在多平台的网络抓包工具&#xff0c;可以嗅探通过本机网卡的各类网络包&#xff0c;并对它们的协议&#xff0c;源、目标地址等多种数据进行解…

多图上传 - Web Uploader

http://fex.baidu.com/webuploader/ 官方DEMO&#xff0c;我都不想说了&#xff0c;各种问题。参考ShuaiBi文章 http://www.cnblogs.com/ismars/p/4176912.html 用了bootstrap 代码百度网盘地址&#xff1a;http://pan.baidu.com/s/1pJkj9wf 自己参照改改就好了。 //所有文件上…

Access导入文本文件的Schema.ini文件格式

Schema.ini格式如下&#xff08;参考&#xff1a;MSDN主题 Schema.ini File&#xff09;&#xff1a; Schema.ini用于提供文本数据中的记录规格信息。每个Schema.ini的条目用于指明表的5个特征之一&#xff1a; 文本文件名 文件名有方括号括起来&#xff0c;例如如果要对Sampl…