public:
    /**
     * pick candy
     * @param arr int整型vector the array
     * @return int整型
     */
    int candy(vector<int>& arr) {
        // write code here
        vector<int>nums(arr.size(),1);//把容器初始化,构造长度为原来大小的元素初始化为1 的容器
        for(int i = 1;i<arr.size();i++)//
        {
            if(arr[i-1]<arr[i])
            {
                nums[i] = nums[i-1]+1;//从左边先遍历一遍数组,把右边的数组的值都变得要比左边的大,方便再左边进行遍历的时候不会导致,出现右边的分数比左边的大,但是所得到的苹果却比左边的少的情况
            }
            
         }
         for(int i =arr.size()-1;i>=0;i--)
         {
                if(arr[i-1]>arr[i]&&nums[i-1]<=nums[i])
                {
                    nums[i-1]=nums[i]+1;//从右边开始遍历一便数组,当左边的分数比右边的分数多的时候,但得到的苹果数目却和右边的苹果数目一样甚至更少的情况,把么就需要将左边的数组的数目加1
                }
         }
        int sum = 0;
          for(int i =0;i<nums.size();i++)
          {
              sum+=nums[i];//最后遍历苹果的数组,得到最后的苹果的数目之和,即为最少的苹果数目
          }
       return sum;
        
   
    }
};