20201125:力扣第216場周賽(下)
題目
- 生成平衡陣列的方案數
- 完成所有任務的最少初始能量
思路與演算法
- 第一題 刪除的索引為i,刪除之後(0- i-1)之間的子陣列的奇偶和不變,而(i+1,end)的奇偶索引交換
- 貪心加自定義排序,程式碼參考自zero神的題解。
程式碼實現
- 生成平衡陣列的方案數
class Solution {
public int waysToMakeFair(int[] nums) {
// 刪除的索引為i,刪除之後(0- i-1)之間的子陣列的奇偶和不變,而(i+1,end)的奇偶索引交換
int OddSum = 0;int EvenSum = 0;
int leftOddSum = 0; int leftEvenSum = 0;
int rightOddSum = 0;int rightEvenSum = 0;
int res = 0;
int len = nums.length;
// 先計算當前奇偶索引和
for (int i = 0; i < len; i++) {
if(i % 2 == 0)
EvenSum += nums[i];
else
OddSum += nums[i];
}
// 遍歷所有可能性
for (int i = 0; i < len; i++) {
// 先計算左邊的奇偶和
if (i % 2 != 0)
leftOddSum += nums[i];
else
leftEvenSum += nums[i];
rightOddSum = EvenSum - leftEvenSum;
rightEvenSum = OddSum - leftOddSum;
if (i % 2 != 0)
rightOddSum -= nums[i];
else
rightEvenSum -= nums[i];
if ((leftEvenSum + rightEvenSum) == (leftOddSum + rightOddSum)) {
res++;
}
}
return res;
}
}
- 完成所有任務的最少初始能量
class Solution {
public:
int minimumEffort(vector<vector<int>>& tasks) {
sort(tasks.begin(), tasks.end(), [](const vector<int> &a, const vector<int> &b) { return a[1] - a[0] > b[1] - b[0]; } );
int ans = 0; // 最低能量
int cur_cost = 0; // 實際能量
for (int i = 0; i < tasks.size(); i++) {
ans = max(ans, cur_cost + tasks[i][1]);
cur_cost += tasks[i][0];
}
return ans;
}
};
寫在最後
- 衝!
相關文章
- 20201124:力扣第216場周賽(上)力扣
- 第 178 場力扣周賽 第二題力扣
- 第191場周賽
- 第 210 場周賽
- AcWing第85場周賽
- LeetCode第215場周賽LeetCode
- leetcode 第 217 場周賽(vivo)LeetCode
- [leetcode 第 400 場周賽]題解LeetCode
- Leetcode 第136場周賽解題報告LeetCode
- Leetcode第 217 場周賽(思維量比較大)LeetCode
- 力扣第29題 中等難度 兩數相除力扣
- 第216天:Angular—自定義指令(二)Angular
- LeetCode 第 196 場周賽 (題目:5452-5455,這是參加過最坑的周賽,暴力n^2居然可以過)LeetCode
- 20201007:力扣209週週賽題解記錄(上)力扣
- 力扣---2020.7.30力扣
- 力扣---2020.9.27力扣
- 力扣---2020.9.29力扣
- 力扣---2020.9.28力扣
- 力扣---2020.9.3力扣
- 力扣---2020.9.4力扣
- 2019 力扣杯-全國高校春季程式設計大賽力扣程式設計
- CSDN周賽第35期:贏《阿里雲天池大賽賽題解析―深度學習篇》和定製周邊阿里深度學習
- CSDN周賽第47期:贏《C primer plus 第6版中文版》和定製周邊
- 力扣2713 2024.6.19力扣
- 力扣2589 5.16力扣
- 力扣1542 2024.5.22力扣
- 力扣題解力扣
- 力扣(LeetCode)543力扣LeetCode
- 力扣(LeetCode)934力扣LeetCode
- 力扣(LeetCode)103力扣LeetCode
- 力扣(LeetCode)513力扣LeetCode
- 力扣(LeetCode)389力扣LeetCode
- 力扣(LeetCode)796力扣LeetCode
- 力扣(LeetCode)863力扣LeetCode
- 力扣(LeetCode)310力扣LeetCode
- 力扣(LeetCode)130力扣LeetCode
- 力扣(LeetCode)965力扣LeetCode
- 第 8 場 小白入門賽