P8837 [传智杯 #3 决赛] 商店(贪心加双指针)

题目背景

思路解析:很经典的贪心问题,把物品按照从便宜到贵的顺序排好序,然后按照富贵程度排人,直接暴力会tle所以这里采用双指针.

cpp 复制代码
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<string>
using namespace std;
int n, m, res;
int qian[100005], jia[100005];
int main()
{
    cin >> n >> m;
    for (int i = 0; i < n; i++)
        cin >> qian[i];
    for (int i = 0; i < m; i++)
        cin >> jia[i];
    sort(qian, qian + n);
    sort(jia, jia + m);//排序
    int j = 0, i = 0;
    while(1)//循环往后
     //i代表了钱数的坐标,j代表了价格的坐标
    {
        if (i > n || j > m) break;//表示越界直接break
        if (qian[i]>=jia[j])//钱够直接买
        {
            res++;
            i++;
            j++;
        }
        else{
            i++;//让钱多的人来
        }
    }
    cout << res;
    return 0;
}
相关推荐
To_OC40 分钟前
LC 15 三数之和:双指针不难,难的是把去重做对
javascript·算法·leetcode
renhongxia13 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
zephyr055 小时前
动态规划-最长上升子序列问题
算法·动态规划
闪电悠米5 小时前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
卡提西亚7 小时前
leetcode-1438. 绝对差不超过限制的最长连续子数组
算法·leetcode·职场和发展
Java面试题总结7 小时前
LeetCode 93.复原IP地址
算法·leetcode·职场和发展·.net
从零开始的代码生活_7 小时前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
Tisfy8 小时前
LeetCode 3867.数对的最大公约数之和:按题目说的做(gcd)
算法·leetcode·题解·模拟·最大公约数·gcd
泷寂8 小时前
最小生成树 (MST基础)
算法
Daniel_1238 小时前
数组——总结篇
算法