zoukankan      html  css  js  c++  java
  • code第一部分数组:第二十一题:分糖果

    code第一部分数组:第二十一题:分糖果

    给糖果,每人至少一颗,高分孩子得到比左右多,求糖果数。
    there are N children standing in a line. Each child is assigned a rating value.
    You are giving candies to these children subjected to the following requirements:
    • Each child must have at least one candy.
    • Children with a higher rating get more candies than their neighbors.
    What is the minimum candies you must give?

    #include <iostream>
    
    using namespace std;
    
    int max(int a,int b)
    {
        if (a>=b)
        {
            return a;
        }
        else
            return b;
    }
    
    int candy(int* ratings,int n)
    {
        int result=0;
    
        const int m=n;
        int increment[m];
    
        for (int i = 1; i < n; i++)
        {
            if (ratings[i] > ratings[i-1])
            {
                increment[i] = increment[i-1]+1;
                cout<<"increment[i]"<<increment[i]<<endl;
            }
            else
            {
                increment[i] = 1;
                cout<<"increment[i]"<<increment[i]<<endl;
            }
        }
    
        for (int i = n - 2; i >= 0; i--)
        {
            if (ratings[i] > ratings[i + 1])
            {
                increment[i] =max(increment[i+1]+1,increment[i]);
                cout<<"increment[i]"<<increment[i]<<endl;
            }
            else
            {
                increment[i]= 1;
                cout<<"increment[i]"<<increment[i]<<endl;
            }
        }
    
        for (int i = 0; i < n; i++)
        {
            result += increment[i];
        }
    
        return result;
    }
    
    int main()
    {
        int a[5]={1,3,2,4,5};
    
        int ans = candy(a,5);
    
        cout<<"at least candy number is "<<ans<<endl;
    
        return 0;
    }
  • 相关阅读:
    06.数组模拟栈-简易计算器
    05.单向环形链表应用 -- 约瑟夫环
    02.数组模拟环形队列
    01.稀疏矩阵与二维数组相互转化
    大数字相乘
    13.打包发布
    悦苗园公益活动
    程序猿打招自己的电子图书馆
    【技能】提高网站可用性
    【微信技能】如何通过微信号知道对方微信的二维码
  • 原文地址:https://www.cnblogs.com/tao-alex/p/6443063.html
Copyright © 2011-2022 走看看