力扣第228周周赛(下)

  • 题目
  • 思路与算法
  • 代码实现
  • 写在最后

题目

    1. 袋子里最少数目的球
  1. 一个图中连通三元组的最小度数

思路与算法

  1. 经典二分搜索题目,套模板,主要搞清楚如何检查遍历的每一个数是否符合不大于maxOperations即可。
  2. 貌似可以直接暴力结束,直接统计是否连接和出入度即可。题目给了n的上限是400,典型的3次复杂度的极限值。也间接说明可以暴力检索三元组。

代码实现

  1. 袋子里最少数目的球
class Solution {public int minimumSize(int[] nums, int maxOperations) {int low = 1;int high = 1000000001;while (low + 1 < high) {int mid = low + (high - low) / 2;if (check(nums,mid,maxOperations)) {high = mid;} else {low = mid;}}if (check(nums,low,maxOperations)) {return low;}return high;}public boolean check(int[] balls,int penalty,int maxOperations){int res = 0;for (int i: balls) {res += i / penalty;if (i % penalty == 0) {res -= 1;}if (res > maxOperations) {return false;}}return true;}
}
  1. 一个图中连通三元组的最小度数
class Solution {public:int minTrioDegree(int n, vector<vector<int>>& edges) {int ans = INT_MAX;vector<int> Degrees(n);vector<vector<bool>> Connected(n,vector<bool>(n));// 统计是否连接以及出入度for (auto &edge : edges) {Connected[edge[0] - 1][edge[1] - 1] = true;Connected[edge[1] - 1][edge[0] - 1] = true;Degrees[edge[0] - 1]++;Degrees[edge[1] - 1]++;}// 直接遍历寻找三元组即可for (int i = 0; i < n; ++i) {for (int j = i + 1; j < n; ++j) {// 剪枝:直接砍掉两两不相连的if ( !Connected[i][j] ){continue;}for (int k = j + 1; k < n; ++k) {// 如果全部两两相连if (Connected[i][k] && Connected[j][k]) {ans = min(ans,Degrees[i] + Degrees[j] + Degrees[k] - 6);}}}}return ans == INT_MAX ? -1 : ans;}
};

写在最后

  1. 在家的最后几天,好好陪家里人

20210218:力扣第228周周赛(下)相关推荐

  1. 20210217:力扣第228周周赛(上)

    力扣第228周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 生成交替二进制字符串的最少操作数 统计同构子字符串的数目 思路与算法 第一题需要注意不能直接翻译题意,直接翻译的代码存在先入为主定 ...

  2. 20211202:力扣第268周周赛(下)

    力扣第268周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 区间内查询数字的频率 k 镜像数字的和 思路与算法 第三题直接map加二分即可,见代码 这个第四题看了大家的题解有直接打表的,这题 ...

  3. 20211130:力扣第267周周赛(下)

    力扣第267周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 2075 解码斜向换位密码 2076.处理含限制条件的好友请求 思路与算法 第三题是一个比较简单的索引计算题,只需要将斜着放的字符 ...

  4. (补)20210623:力扣第246周周赛(下)

    力扣第246周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 统计子岛屿 查询差绝对值的最小值 思路与算法 统计子岛屿 : 老DFS了,总之就是遍历题,无需多言,搜就行了. 查询差绝对值的最小 ...

  5. 20210602:力扣第243周周赛(下)

    力扣第243周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 使用服务器处理任务 准时抵达会议现场的最小跳过休息次数 思路与算法 使用服务器处理任务:典型双堆问题,逻辑清晰即可写出代码,今天两 ...

  6. 20210427:力扣第238周周赛(下)

    力扣第238周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 所有元音按顺序排布的最长子字符串 最高建筑高度 思路与算法 依旧是滑动窗口,再熟悉滑动窗口的写法即可. 不加解释,本题参考零神专业 ...

  7. 20210424:力扣第237周周赛(下)

    力扣第237周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 单线程 CPU 所有数对按位与结果的异或和 思路与算法 第一题属于一类cpu流水线题目,实现常规方法堆加排序即可. 第二题属于数学 ...

  8. 20201016:力扣第210周周赛题解(下)

    力扣第210周周赛题解(下) 题目 思路与算法 代码实现 写在最后 题目 分割两个字符串得到回文串 统计子树中城市之间最大距离 思路与算法 第三题主要逻辑通顺就行,注意分割的索引是一样的,那么判断回文 ...

  9. 20210612:力扣第244周周赛题解(上)

    力扣第244周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 判断矩阵经轮转后是否一致 使数组元素相等的减少操作次数 思路与算法 判断矩阵经轮转后是否一致:本题的前置题目是这道46:.旋转图像 ...

最新文章

  1. 家庭局域网开启AP隔离利用无线路由器互连
  2. PowerBuilder 11.x 的重要进步和不足
  3. 如何在python中创建列表副本,在Python中切片列表而不生成副本
  4. innodb_buffer_pool_size的安全上限
  5. McAfee----McAfee 2008 中文版
  6. DL:关于深度学习常用数据集中训练好的权重文件(Deeplab v3、MobileNet、InceptionV3、VGG系列、ResNet、Mask R-CNN )下载地址集合(持续更新)
  7. SQLite3.8.4.2在Windows平台下的编译和使用
  8. 2016蓝桥杯省赛---java---B---1(煤球数目)
  9. SAP VA01 消息 没有用于售达方 XXXXXX 的客户主记录存在
  10. linux ubuntu18.04下载,正确下载Ubuntu 18.04.2 ISO的方法
  11. 机器人正运动学(3)—— 坐标系及其变换
  12. Unity Shader - 伪次表面散射模拟
  13. EXCEL多列vlookup匹配
  14. Excel -- 实用技巧
  15. 建站选择免费虚拟主机的六大误区
  16. 初识JAVA,请多多关照
  17. Esri首席大数据专家Mansour Raad:人工智能与大数据的结合,会为地理信息产业带来颠覆式变化
  18. hdmiout 68411升级
  19. unable to qualify my own domain name
  20. Niushop 物流公司设置

热门文章

  1. 抗住 60 亿次攻击,起底阿里云安全的演进之路 | 问底中国 IT 技术演进
  2. 微信回应朋友圈表情包评论关闭:灰度测试;Twitter漏洞波及1700万用户;Ruby 2.7.0发布 | 极客头条...
  3. 顶尖技术专家严选,15场前沿论坛思辨,2019中国大数据技术大会邀您共赴!
  4. Java String 对象,你真的了解了吗?| CSDN 博文精选
  5. 数据量太大?用数据库水平切分搞定!
  6. 马化腾评 Facebook 加密货币;苹果或将 15% 产能移出中国;Python 新版发布 | 极客头条...
  7. 编程语言流行指数:Python 稳居宝座,Java 滑坡!
  8. 7000 亿!华为正式宣布,全世界为之颤抖!
  9. Google 又逆天:语音输入离线实时输出文字,仅占 80 MB !然而……
  10. 禁止“挖矿”!谷歌杀了所有的 Chrome 扩展应用