码蹄杯刷题

MC0102房间打扫

贪心解法:统计每列0的个数,超过一半就打扫

有3个测试点会WA

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int res = 0;
    vector<vector<char>> s(n, vector<char>(n));
    vector<int> cnt(n);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cin >> s[i][j];
            if (s[i][j] == '0')
            {
                cnt[j]++;
            }
        }
    }
    for (int j = 0; j < n; j++)
    {
        if (cnt[j] * 2 > n)
        {
            for (int i = 0; i < n; i++)
            {
                if (s[i][j] == '1')
                {
                    s[i][j] = '0';
                }
                else
                {
                    s[i][j] = '1';
                }
            }
        }
    }
    for (int i = 0; i < n; i++)
    {
        bool flag = true;
        for (int j = 0; j < n; j++)
        {
            if (s[i][j] == '0')
            {
                flag = false;
                break;
            }
        }
        if (flag)
        {
            res++;
        }
    }
    cout << res;
    return 0;
}

正确解法是哈希表

统计相同的字符串

cpp 复制代码
#include <iostream>
#include <string>
#include <unordered_map>
#include <algorithm>
using namespace std;
int main()
{
    unordered_map<string, int> map;
    int n;
    cin >> n;
    int res = 0;
    string s;
    for (int i = 0; i < n; i++)
    {
        cin >> s;
        map[s]++;
        res = max(res, map[s]);
    }
    cout << res;
    return 0;
}

MC0104项链

cpp 复制代码
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
    int n;
    cin >> n;
    vector<int> s(n);
    for (int i = 0; i < n; i++)
    {
        cin >> s[i];
    }
    sort(s.begin(), s.end());
    int high = 0;
    int low = 0;
    for (int i = 0; i < n / 2; i++)
    {
        low += s[i];
    }
    for (int i = n - n / 2; i < n; i++)
    {
        high += s[i];
    }
    cout << 2 * (high - low);
    return 0;
}
相关推荐
小雨下雨的雨3 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
xieliyu.5 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
一条小锦吕*6 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
cfm_29147 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
如竟没有火炬7 小时前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
8Qi88 小时前
LeetCode 1143 & 718:最长公共子序列 / 最长重复子数组
算法·leetcode·职场和发展·动态规划
绿算技术8 小时前
万卡推理集群存储选型分析:从核心架构到应用视角
大数据·科技·算法·架构
Qt程序员9 小时前
Linux RCU 原理与应用
linux·c++·内核·linux内核·rcu
想吃火锅10059 小时前
【leetcode】1.两数之和js版
javascript·算法·leetcode