栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

2021.10.16 LeetCode双周赛

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021.10.16 LeetCode双周赛

总结:2/4 前两道还是比较简单的 5885是最基础的贪心算法(还没学过,但只是知道思想也可以做出来)

5886其实只要读懂题目,就知道统计最多操作次数就可以了,不用考虑动态变化(因为两人选的都是最优解,也就是尽量删除中间的字符),这只是一个静态问题。

5885. 使每位学生都有座位的最少移动次数

贪心

class Solution {
public:
	int minMovesToSeat(vector seats, vectorstudents) {
		sort(seats.begin(), seats.end());
		sort(students.begin(), students.end());
		int ans = 0;
		for (int i = 0; i < seats.size(); i++)
			ans += abs(seats[i] - students[i]);
		return ans;
	}	
};
5886. 如果相邻两个颜色均相同则删除当前颜色

思路就是其实只要判断Alice和Bob分别可以删多少次

删的次数多的那一方获胜

class Solution {
public:
    bool winnerOfGame(string colors) {
        //滑动窗口计数
        if(colors.length()<3)
            return false;
        int Alice=0,Bob=0;
        for(int i=1;iBob)
            return true;
        else
            return false;
    }
};
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号