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;
}
相关推荐
khalil10202 小时前
代码随想录算法训练营Day-46 动态规划13 | 647. 回文子串、516.最长回文子序列、动态规划总结
数据结构·c++·算法·leetcode·动态规划·回文子串·回文子序列
学习3人组2 小时前
柔性排产时序算法+中间过程+阶段目标 细化表格
算法·mes
he___H2 小时前
算法快与慢--哈希+双指针
算法·leetcode·哈希算法
呃呃本2 小时前
算法题(回溯)
算法
刀法如飞3 小时前
Rust数组去重的20种实现方式,AI时代用不同思路解决问题
人工智能·算法·ai编程
yxc_inspire3 小时前
25年CCPC福建邀请赛补题
学习·算法
Raink老师3 小时前
用100道题拿下你的算法面试(链表篇-4):合并 K 个有序链表
算法·链表·面试
Liangwei Lin3 小时前
LeetCode 20. 有效的括号
算法
IronMurphy4 小时前
【算法四十四】322. 零钱兑换
算法
凯瑟琳.奥古斯特4 小时前
力扣2760 C++滑动窗口解法
数据结构·c++·算法·leetcode·职场和发展