笔试——Day13
文章目录
- 第一题
- 题目
- 思路
- 代码
- 第二题
- 题目:
- 思路
- 代码
- 第三题
- 题目:
- 思路
- 代码
第一题
题目
牛牛冲钻五
思路
模拟
- 当输时,分数减1;
- 当赢时,且连胜三句,则分数加k;否则分数加1
代码
第二题
题目:
最长无重复子数组
思路
滑动窗口
- 构建一个哈希表,用于统计数组元素出现的次数
- 窗口左右界都从数组首部开始,每次窗口优先右移右界,并统计进入窗口的元素的出现频率
- 一旦右界元素出现频率大于1,就需要右移左界直到窗口内不再重复,将左边的元素移除窗口的时候同时需要将它在哈希表中的频率减1,保证哈希表中的频率都是窗口内的频率
- 每轮循环,维护窗口长度最大值
代码
第三题
题目:
重排字符串
思路
贪心:
类似于排列组合中的隔板法:隔一个位置先放出现次数最多的字母,剩余的字母随便放在剩余的位置都不会让相邻的字母相同