简单的算法练习
微雨曳荷
等到黑夜过后是新的白昼,等到海啸退后只是潮起潮落,阳光在每个裂缝中散落。
展开
-
452. 用最少数量的箭引爆气球 435. 无重叠区间
今天算法老师讲了一道力扣的戳气球题,我后来仔细看了一下题目,大致知道该本质就是算法竞赛经典的那道日本人写的区间贪心问题,我在之前的博客合并区间也有提过,这不过这里经典再现了一下。室友主要是左端点进行排序时不行,然后我自己试了一下,发现还是可以的,而且在胡凡、曾磊的那本《算法笔记》上也是用的左端点进行排序。至于为什么会这样,读者有兴趣可以自己去模拟一下,首先是分区间的问题,之后再引入戳气球那题。435. 无重叠区间给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区.原创 2021-04-20 21:49:18 · 84 阅读 · 0 评论 -
算法小练习:56. 合并区间
小记:昨天室友面试字节跳动,出了这道题,然后当时我觉得这道题应该见过,原题是日本人写的一本算法竞赛书上的经典问题,这里我主要参考是《算法笔记》———胡凡、曾磊主编的那本,书上讲的是区间贪心问题,书上虽然求的是不可合并的区间个数,但是方法很巧妙,先对那些个区间的左端点进行从大到小的排序,如果一个区间的右端点小于选中区间的左端点,那么代表不可合并,ans++。LeetCode 56. 合并区间以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti,.原创 2021-04-10 15:29:07 · 141 阅读 · 1 评论 -
算法小练习:面试题 01.02. 判定是否互为字符重排
面试题 01.02. 判定是否互为字符重排给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = “abc”, s2 = “bca”输出: true示例 2:输入: s1 = “abc”, s2 = “bad”输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100思路:先判断两个字符串长度是否一致,然后用vector或者map,统原创 2021-04-07 19:05:04 · 90 阅读 · 0 评论 -
算法小练习:面试题 01.01. 判定字符是否唯一
小记:最近在考研,在翻阅408数据结构真题的时候偶然发现2020年考的一道题跟力扣上面试题 16.06. 最小差这一题很相似,特此又再次开启算法练习用来锻炼思维。题目:面试题 01.01. 判定字符是否唯一实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = “leetcode” 输出: false示例 2:输入: s = “abc”输出: true限制:0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分。思路如原创 2021-04-07 17:20:01 · 71 阅读 · 0 评论 -
P1012 拼数
题目描述设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613输入格式第一行,一个正整数n。第二行,n个正整数。输出格式一个正整数,表示最大的整数输入输出样例输入 #1313 312 343输出 #...原创 2020-03-26 23:18:22 · 145 阅读 · 0 评论 -
P1739 表达式括号匹配
P1739 表达式括号匹配题目描述假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。输入格式一行:表达式输出格式一行:“YES” 或“NO”输入输出样例输入 #12*(x+y)/(1-x)...原创 2020-03-26 22:41:59 · 301 阅读 · 0 评论 -
P1540 机器翻译
P1540 机器翻译题目背景小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。题目描述这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续...原创 2020-03-26 19:51:37 · 155 阅读 · 0 评论 -
P1160 队列安排
P1160 队列安排题目描述: 一个学校里老师要将班上N个同学排成一列,同学被编号为1∼N,他采取如下的方法: 1、先将1号同学安排进队列,这时队列中只有他一个人; 2、2-N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1∼(i−1)中某位同学(即之前已经入列的同学)的左边或右边; 3、从队列中去掉M(M<N)个同学,其他同学位置顺序不变。在所有同学...原创 2020-03-26 19:15:14 · 661 阅读 · 0 评论 -
Sign In and Sign Out
At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in’s and out’s, you...原创 2020-02-09 19:07:20 · 357 阅读 · 0 评论 -
进制转换(2~16进制之间任意进制转换)
进制转换描述在16进制中,大写字母A代表10,B代表11,…,F代表15。请将x进制的数字a转化为y进制,并输出。输入输入分三行,第一行一个数字x(2<=x<=16),第二行一个数字y(2<=y<=16),第三行一个数字a(a最长6位)。输出输出x进制的a的y进制表示。输入样例1:1024输出样例1:100输出样例2:101611输出...原创 2019-10-29 21:37:44 · 730 阅读 · 0 评论