20220911- LC第310场周赛

讨论:https://leetcode.cn/circle/discuss/s55Iwu/

6176. 出现最频繁的偶数元素(AC)

给你一个整数数组 nums ,返回出现最频繁的偶数元素。

如果存在多个满足条件的元素,只需要返回 最小 的一个。如果不存在这样的元素,返回 -1 。

示例 1:

输入:nums = [0,1,2,2,4,4,1]
输出:2
解释:
数组中的偶数元素为 0、2 和 4 ,在这些元素中,2 和 4 出现次数最多。
返回最小的那个,即返回 2 。
示例 2:

输入:nums = [4,4,4,9,2,4]
输出:4
解释:4 是出现最频繁的偶数元素。
示例 3:

输入:nums = [29,47,21,41,13,37,25,7]
输出:-1
解释:不存在偶数元素。

提示:

1 <= nums.length <= 2000
0 <= nums[i] <= 105

思路:排成逆序后遍历哈希表计数

class Solution {
public:int mostFrequentEven(vector<int>& nums) {sort(nums.begin(),nums.end(),greater<int>());unordered_map<int,int> cnt;int maxCnt = 0;int res = -1;for(int i : nums){cnt[i]++;if(i % 2 == 0 && cnt[i] >= maxCnt){maxCnt = cnt[i];res = i;}}return res;}
};

6177. 子字符串的最优划分

给你一个字符串 s ,请你将该字符串划分成一个或多个 子字符串 ,并满足每个子字符串中的字符都是 唯一 的。也就是说,在单个子字符串中,字母的出现次数都不超过 一次 。

满足题目要求的情况下,返回 最少 需要划分多少个子字符串。

注意,划分后,原字符串中的每个字符都应该恰好属于一个子字符串。

示例 1:

输入:s = “abacaba”
输出:4
解释:
两种可行的划分方法分别是 (“a”,“ba”,“cab”,“a”) 和 (“ab”,“a”,“ca”,“ba”) 。
可以证明最少需要划分 4 个子字符串。
示例 2:

输入:s = “ssssss”
输出:6
解释:
只存在一种可行的划分方法 (“s”,“s”,“s”,“s”,“s”,“s”) 。

提示:

1 <= s.length <= 105
s 仅由小写英文字母组成

思路:以为是滑动窗口,完全想不到是贪心,估计是惯性思维。

int partitionString(string s) {unordered_map<char,int> umap;int res = 1;for(char c : s){umap[c]++;if(umap[c] > 1){res++;umap.clear();umap[c] = 1;}}return res;}

6178. 将区间分为最少组数

给你一个二维整数数组 intervals ,其中 intervals[i] = [lefti, righti] 表示 闭 区间 [lefti, righti] 。

你需要将 intervals 划分为一个或者多个区间 组 ,每个区间 只 属于一个组,且同一个组中任意两个区间 不相交 。

请你返回 最少 需要划分成多少个组。

如果两个区间覆盖的范围有重叠(即至少有一个公共数字),那么我们称这两个区间是 相交 的。比方说区间 [1, 5] 和 [5, 8] 相交。

示例 1:

输入:intervals = [[5,10],[6,8],[1,5],[2,3],[1,10]]
输出:3
解释:我们可以将区间划分为如下的区间组:

输入:intervals = [[1,3],[5,6],[8,10],[11,13]]
输出:1
解释:所有区间互不相交,所以我们可以把它们全部放在一个组内。

提示:

1 <= intervals.length <= 105
intervals[i].length == 2
1 <= lefti <= righti <= 106

思路:

熟悉的区间类问题,完全想不到用优先队列可以分组,有些类似于253会议室问题,还是做太少了。

static bool cmp(vector<int> &lhs, vector<int> &rhs){return lhs[0] < rhs[0];}int minGroups(vector<vector<int>>& inv) {sort(inv.begin(), inv.end(), cmp);//用一个优先队列维护每个组最大的终点priority_queue<int, vector<int>, greater<int>> pq; pq.push(inv[0][1]);for(int i = 1; i < inv.size(); i++){//发生重叠,新增组终点if(pq.top() >= inv[i][0]){pq.push(inv[i][1]);}//没发生重叠,更新当前组终点else{pq.pop();pq.push(inv[i][1]);}}return pq.size();}

20220911- LC第310场周赛相关推荐

  1. [LeetCode周赛复盘] 第 310 场周赛20220911

    [LeetCode周赛复盘] 第 310 场周赛20220911 一.本周周赛总结 二. [Easy] 6176. 出现最频繁的偶数元素 1. 题目描述 2. 思路分析 3. 代码实现 三.[Medi ...

  2. LeetCode第 310 场周赛

    文章目录 前言 第86场双周赛情况 题目复盘+题解 题1:6176. 出现最频繁的偶数元素[easy] 题2:6176. 出现最频繁的偶数元素[medium] 题3:6178. 将区间分为最少组数[m ...

  3. Leetcode第 310 场周赛 补打

    Leetcode 第310场周赛 自己赛后打了一下,记录了一下时间,大概15min A 3题,第四题是写不出来,然后学习了一天线段树(真的强). 思路: 1.排序后统计偶数的数目 2.遍历扫一遍,用直 ...

  4. 力扣周赛310场题解

    力扣周赛310场题解 前言 6176. 出现最频繁的偶数元素 6177. 子字符串的最优划分 前言 今天参加了力扣的第310场周赛,也是感觉到了这周的题的一个难度,有些题有想法,但是实际上让我去写的时 ...

  5. letcode第319场周赛

    letcode第319场周赛 6233. 温度转换 给你一个四舍五入到两位小数的非负浮点数 celsius 来表示温度,以 摄氏度(Celsius)为单位. 你需要将摄氏度转换为 开氏度(Kelvin ...

  6. 记录 22.9.25 第312场周赛1~3

    记录 22.9.25 第312场周赛1~3    LC周赛 四道题拿下两道 继续努力! 第三道差一点,第四道 并查集 看不懂,继续学习吧!努力奋斗. 6188. 按身高排序 题目链接:6188. 按身 ...

  7. LeetCode228场周赛解题报告

    LeetCode228场周赛解题报告 生成交替二进制字符串的最少操作数 原题链接 https://leetcode-cn.com/contest/weekly-contest-228/problems ...

  8. LeetCode第 227 场周赛题解

    LeetCode第 227 场周赛题解 检查数组是否经排序和轮转得到 原题链接 https://leetcode-cn.com/problems/check-if-array-is-sorted-an ...

  9. 20220307:力扣第283场周赛(上)

    力扣第283场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 Excel 表中某个范围内的单元格 向数组中追加 K 个整数 思路与算法 第一题直接模拟即可,注意作为char的数字也是可以直接自 ...

  10. 20220228:力扣第282场周赛(下)

    力扣第282场周赛(下) 题目 思路与算法 代码实现 写在最后 题目 完成旅途的最少时间 完成比赛的最少时间 思路与算法 完成旅途的最少时间: 二分模板题,注意初始化左右边界的话,速度会提升很多. 完 ...

最新文章

  1. 【图论专题】无向图的双连通分量
  2. 如何将APACHE许可证应用于您的工作
  3. Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
  4. bzoj1385: [Baltic2000]Division expression
  5. 苏老师首播3小时!超500人观看!录屏!源码!PPT……你要的都在这里!
  6. mysql 小雨_Mysql数据库
  7. macOS中安装docker
  8. Scala零基础教学【61-80】
  9. 程序设计与算法----枚举之完美立方
  10. 最难面试的IT公司之ThoughtWorks代码挑战——FizzBuzzWhizz游戏(C#解法)
  11. return 0可以不加吗_拼多多开店可以不交保证金? 拼多多0元开店是真的吗?
  12. Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory Android
  13. python画好看的图-Python竟能画这么漂亮的花,帅呆了(代码分享)
  14. 太原理工计算机组成原理报告,太原理工计算机组成原理考试题.pdf
  15. android 横屏字体变小,android屏幕大小,字体大小,横屏竖屏切换问题
  16. Python 读取 操作 使用 db文件
  17. MATLAB颜色的使用
  18. python调用百度地图实现导航_利用python和百度地图API实现数据地图标注
  19. IT历史上被引述最多的10句名人名言
  20. Ruoyi框架学习总结--总览篇

热门文章

  1. 【layui】省市区的三级联动
  2. 计算机控制系统第三次作业,城市轨道交通能控制系统第三次作业.ppt
  3. 分布式常见面试题详解
  4. Oracle书籍推荐
  5. 生物信息学的研究方向
  6. c语言 桌面下雪程序,用C++写的在桌面上飘雪的特效程序
  7. 计算机与科学概论考试重点,计算机科学概论重点
  8. 印度神曲之五(Ayka dajiba)
  9. abs内控流程图_abs成本费用核算流程图
  10. 操作系统分区原理(笔记)