LeetCode 第 42 場雙週賽 ( rank 514 / 1578 )
LeetCode 第 42 場雙週賽
第一題:5621. 無法吃午餐的學生數量
模擬即可
AC Code
class Solution {
public int countStudents(int[] stu, int[] sa) {
int len1 = stu.length, len2 = sa.length;
int ans = 0;
// 模擬佇列
Deque<Integer> queue = new LinkedList<>();
for(int i = 0; i < len1; i++) queue.addLast(stu[i]);
int index = 0, cnt = 0;
while(!queue.isEmpty() && cnt != queue.size()) {
// 遍歷
int val = queue.pollFirst();
if(val == sa[index]) {
index++;
cnt = 0;
} else {
queue.addLast(val);
cnt++;
}
}
return cnt;
}
}
第二題: 5622. 平均等待時間
模擬就可
AC Code
class Solution {
public double averageWaitingTime(int[][] cus) {
int len = cus.length;
double sum = cus[0][1];
int right = cus[0][0] + cus[0][1];
for(int i = 1; i < len; i++) {
// 大於開始邊界
if(right > cus[i][0]) {
right += cus[i][1];
sum += right - cus[i][0];
} else {
right = cus[i][0] + cus[i][1];
sum += cus[i][1];
}
}
return sum / (double)len ;
}
}
思維題
思路:
會發現遇到1在前面的時候,不需要改為0
我們更希望的時候,當前是0時, 儘可能的將它改為 1
改變的策略有兩種: 00 -> 10 and 10 -> 01
在 01110 中,實際上會發現,在找到第一個0後,根據第二個策略,不斷的將0前移
最後變成 10111 的形式, 實際就是可以理解成消耗第一個 0 後面的 0 , 然後將 第一個 0 向後移動一位, 直到第一個 0 後面沒有 0 了。
最後只需要確定 0 的位置即可。
AC Code
class Solution {
public String maximumBinaryString(String s) {
int len = s.length(), cnt1 = 0;
char[] cs = s.toCharArray();
for(int i = 0; i < len; i++) if(cs[i] == '1') cnt1++;
int cnt2 = 0;
for(int i = 0; i < len; i++) {
if(cs[i] == '1') cnt2++;
else break;
}
if(cnt1 == len) return s;
cnt1 -= cnt2;
StringBuffer sb = new StringBuffer();
for(int i = 0; i < len - cnt1 - 1; i++) {
sb.append('1');
}
sb.append('0');
for(int i = 0; i < cnt1; i++) {
sb.append('1');
}
return sb.toString();
}
}
第四題:5624. 得到連續 K 個 1 的最少相鄰交換次數
待補
AC Code
相關文章
- LeetCode第215場周賽LeetCode
- leetcode 第 217 場周賽(vivo)LeetCode
- [leetcode 第 400 場周賽]題解LeetCode
- 每週分享第 42 期
- Leetcode 第136場周賽解題報告LeetCode
- leetcode雙週賽(2)-合併兩個連結串列LeetCode
- Leetcode第 217 場周賽(思維量比較大)LeetCode
- 第191場周賽
- 第 210 場周賽
- 潮流前端週刊(第42期)- 無爭的靈隱寺前端
- AcWing第85場周賽
- Leetcode 42 Trapping Rain WaterLeetCodeAPPAI
- Leetcode 1366. Rank Teams by Votes (python+cpp)LeetCodePython
- CSP模擬賽 #42
- [題解][洛谷P1578] 奶牛浴場
- 第 8 場 小白入門賽
- 每日leetcode——42. 接雨水LeetCode
- LeetCode 42. Trapping Rain WaterLeetCodeAPPAI
- 彈性計算雙週刊第17期
- 彈性計算雙週刊 第24期
- 彈性計算雙週刊第21期
- Python 潮流週刊第 42 期(摘要)+ 贈書《流暢的Python》6本Python
- 河南萌新聯賽2024第(一)場
- 20201125:力扣第216場周賽(下)力扣
- 20201124:力扣第216場周賽(上)力扣
- rank
- [LeetCode] 1366. Rank Teams by Votes 透過投票對團隊排名LeetCode
- LeetCode 第 196 場周賽 (題目:5452-5455,這是參加過最坑的周賽,暴力n^2居然可以過)LeetCode
- 藍橋杯第9場小白入門賽
- 第 178 場力扣周賽 第二題力扣
- 2024 ICPC 網路預選賽 第 2 場
- 河南萌新聯賽2024第(三)場(部分)
- 河南萌新聯賽2024第(二)場 (CDEG)
- Leetcode 之 PHP 解析 (42. Trapping Rain Water)LeetCodePHPAPPAI
- Hive ROW_NUMBER,RANK(),DENSE_RANK()Hive
- 河南萌新聯賽2024第(四)場題解
- 第4週週報
- Leetcode周賽119LeetCode