当前位置: 首页 > 编程笔记 >

在C ++中分配Cookie

孙钱青
2023-03-14
本文向大家介绍在C ++中分配Cookie,包括了在C ++中分配Cookie的使用技巧和注意事项,需要的朋友参考一下

假设我们正在尝试向孩子分发一些cookie。但是,我们最多应该给每个孩子一个cookie。现在,每个孩子我都有一个贪婪因子gi,这是该孩子将满意的cookie的最小大小;每个cookie j的大小均为sj。当sj> = gi时,我们可以将cookie j分配给子i,而子i将很满足。我们的目标是最大限度地增加内容子级的数量并输出最大数量。

因此,如果输入类似于[1,2],[1,2,3],则输出将为2,有2个子代和3个cookie。2个孩子的贪婪因子为1、2。现在我们有3个cookie,它们的大小足以满足所有孩子的需要,因此输出为2。

为了解决这个问题,我们将遵循以下步骤-

  • 排序数组g

  • 对数组进行排序

  • i:= 0,j = 0

  • 而(i <g的大小而j <s的大小),做-

    • (将i增加1)

    • 如果g [i] <= s [j],则-

    • (将j增加1)

    • 还给我

    示例

    让我们看下面的实现以更好地理解-

    #include <bits/stdc++.h>
    using namespace std;
    class Solution {
    public:
       int findContentChildren(vector<int>& g, vector<int>& s) {
          sort(g.begin(), g.end());
          sort(s.begin(), s.end());
          int i = 0, j = 0;
          while (i < g.size() && j < s.size()) {
             if (g[i] <= s[j])
                i++;
                j++;
             }
             return i;
          }
    };
    main(){
       Solution ob;
       vector<int> v = {1,2}, v1 = {1,2,3};
       cout << (ob.findContentChildren(v, v1));
    }

    输入值

    {1,2}, {1,2,3}

    输出结果

    2
     类似资料:
    • 我在StackOverflow(内存分配/解分配?)中找到了以下与内存解分配有关的C和C++标准的引用: C++语言: “如果给标准库中的解分配函数的参数是一个不是空指针值(4.10)的指针,则解分配函数将解分配该指针所引用的存储,使所有指向解分配存储的任何部分的指针无效”。[黑体是我的]。 C语言: free函数导致ptr指向的空间被释放,即使其可用于进一步分配。[黑体是我的]。 那么,让我们假

    • 问题内容: 当您知道on上对象/项目的确切数量时,我非常想知道哪种内存分配方法对性能(例如,运行时间)有利,这对性能有好处。少量对象(少量内存)和大量对象(大量内存)的成本。 与 请告诉我。谢谢。 注意:我们可以对此进行基准测试,并且可能知道答案。但是我想知道解释这两种分配方法之间性能差异的概念。 问题答案: 静态分配将更快。静态分配可以在全局范围和堆栈上进行。 在全局范围内,静态分配的内存内置在

    • 当您知道中对象/项的确切数量时,我很想知道内存分配的首选方法是什么对性能(例如,运行时间)有好处Linux。少量对象(少量内存)和大量对象(大量内存)的成本。 例如,类型A【N】vs 请让我知道。非常感谢。 注意:我们可以对此进行基准测试,并可能知道答案。但我想知道解释这两种分配方法之间性能差异的概念。

    • 我用C++创建了一个简单的类Storer,用于内存分配。它包含六个字段变量,所有这些变量都在构造函数中赋值: 我对这些变量是如何存储的很感兴趣,所以我编写了以下代码: 我对输出非常感兴趣:

    • 我试图根据ES6重写以下代码。我不断收到ESLint警告,到目前为止,我已经花了大约20分钟在上面,我不太确定如何编写它。。。 上面的代码根本无法解析,但根据我的尝试,它说我不能在箭头函数中使用返回{}。 如果我尝试只修改参数,则会得到一个错误,即

    • 我一直在试图弄清楚什么时候事情会在堆栈上分配,但我不知道如何让数组(或者更确切地说是数组中的值)在堆栈上分配; 在此示例中: 10个int结构将分配在堆上,只有指向它们的指针将在堆栈上,对吗? 如何制作固定大小的数组以进行堆栈?如果我使用我定义的stucts怎么办? 如果我想数组大小作为参数传递给函数怎么办? 据我所知,如果调用函数时知道大小,那么在调用函数时在堆栈上获取任意大小的数组应该没有问题