LeetCode Question: 1578. Minimum Time to Make Rope Colorful (Level : Medium)
Note:- Scroll horizontally to see the full line of code.
class Solution
{
public:
int minCost(string colors, vector<int> &neededTime)
{
int n = colors.length();
int m = neededTime.size();
int i = 1;
vector<int> sameColorsTime;
sameColorsTime.push_back(neededTime[0]);
int ans = 0;
while (i < n)
{
int previousIndex = i - 1;
if (colors[previousIndex] == colors[i])
{
sameColorsTime.push_back(neededTime[i]);
i++;
}
else
{
ans += (accumulate(sameColorsTime.begin(), sameColorsTime.end(), 0) - *max_element(sameColorsTime.begin(), sameColorsTime.end()));
sameColorsTime.clear();
sameColorsTime.push_back(neededTime[i]);
i++;
}
}
if (sameColorsTime.size() > 1)
{
ans += (accumulate(sameColorsTime.begin(), sameColorsTime.end(), 0) - *max_element(sameColorsTime.begin(), sameColorsTime.end()));
}
return ans;
}
};
Comments
Post a Comment