Class Solution

java.lang.Object
g2701_2800.s2735_collecting_chocolates.Solution

public class Solution extends Object
2735 - Collecting Chocolates.<p>Medium</p> <p>You are given a <strong>0-indexed</strong> integer array <code>nums</code> of size <code>n</code> representing the cost of collecting different chocolates. The cost of collecting the chocolate at the index <code>i</code> is <code>nums[i]</code>. Each chocolate is of a different type, and initially, the chocolate at the index <code>i</code> is of <code>i<sup>th</sup></code> type.</p> <p>In one operation, you can do the following with an incurred <strong>cost</strong> of <code>x</code>:</p> <ul> <li>Simultaneously change the chocolate of <code>i<sup>th</sup></code> type to <code>((i + 1) mod n)<sup>th</sup></code> type for all chocolates.</li> </ul> <p>Return <em>the minimum cost to collect chocolates of all types, given that you can perform as many operations as you would like.</em></p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> nums = [20,1,15], x = 5</p> <p><strong>Output:</strong> 13</p> <p><strong>Explanation:</strong> Initially, the chocolate types are [0,1,2]. We will buy the 1<sup>st</sup> type of chocolate at a cost of 1.</p> <p>Now, we will perform the operation at a cost of 5, and the types of chocolates will become [1,2,0]. We will buy the 2<sup>nd</sup> type of chocolate at a cost of 1.</p> <p>Now, we will again perform the operation at a cost of 5, and the chocolate types will become [2,0,1]. We will buy the 0<sup>th</sup> type of chocolate at a cost of 1.</p> <p>Thus, the total cost will become (1 + 5 + 1 + 5 + 1) = 13. We can prove that this is optimal.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> nums = [1,2,3], x = 4</p> <p><strong>Output:</strong> 6</p> <p><strong>Explanation:</strong> We will collect all three types of chocolates at their own price without performing any operations. Therefore, the total cost is 1 + 2 + 3 = 6.</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= nums.length <= 1000</code></li> <li><code>1 <= nums[i] <= 10<sup>9</sup></code></li> <li><code>1 <= x <= 10<sup>9</sup></code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • minCost

      public long minCost(int[] nums, int x)