2020.7.5第196場周賽
判斷乙個給定的數列能否形成乙個等差數列。
先將給定的數列排序,判斷每兩個相鄰的數的差值是否相等即可。
class
solution
return
true;}
};
給定兩個陣列,分別表示向左走和向右走的螞蟻的初始位置,n為木板的總長度,兩隻螞蟻相遇時會改變方向,計算最後乙隻螞蟻從木板上掉下來的時刻。
藍橋杯螞蟻感冒
class
solution
};
給定乙個由0和1組成的二維陣列,統計其子矩陣中全部為1的數目.
比賽時用的是二維字首和的方法,利用矩形的左上角和右下角固定乙個矩形,如果矩形的面積(即矩形內所有小正方形的數量)和矩形內的數字和相等,說明是符合條件的矩形,然後判斷所有子矩形是否符合。
時間複雜度是o(n4)很慢很慢,但是能過
class
solution
, n, m;
n = mat.
size()
; m = mat[0]
.size()
;for
(int i =
1; i <= n; i ++
)for
(int j =
1; j <= m; j ++
)int ans =0;
for(
int i =
1; i <= n; i ++
)for
(int j =
1; j <= m; j ++
)for
(int x = i; x <= n; x ++
)for
(int y = j; y <= m; y ++
)return ans;}}
;
給定乙個字串,每次可以交換相鄰兩個數,求出最多經過k次交換的數的最小值。(可以含有前導零)
要想使最後得到的數最小,需要依次從最高位到最低位滿足能夠取到的該數字上的最小值。
舉例:給定字串4321,k = 4,首先看千位最小能取幾,觀察後發現個位上的1經過3次交換後可滿足,此時將其他的數字上的數向後移動;再看到百位,此時只剩下一次機會,只能將4與3交換,故得到的最小值為1342
考慮到存在數字偏移的情況,可使用樹狀陣列+差分進行優化。
class
solution
void
add(
int a,
int b)
}int
get_sum
(int x)
return res;
} string mininteger
(string num,
int k)}}
}return res;}}
;
leetcode第196場周賽
給你乙個只包含 0 和 1 的 rows columns 矩陣 mat 請你返回有多少個 子矩形 的元素全部都是 1 示例 1 輸入 mat 1,0,1 1,1,0 1,1,0 輸出 13 解釋 有 6 個 1x1 的矩形。有 2 個 1x2 的矩形。有 3 個 2x1 的矩形。有 1 個 2x2 ...
LeetCode周賽記錄 第196場周賽
2020年7月5日,leetcode第196場周賽個人記錄。第一次參加leetcode周賽,4道題目完成3道,中國排名163,全球排名377。對我個人來說算是個普通成績吧。以後打算每兩周參加一次周賽,同時利用部落格記錄下每次的成績,同時分享一下對於題目的個人想法和感受。給你乙個數字陣列 arr 如果...
leetCode第196場周賽學習
排序一下 然後列舉 只要不滿足等差數列性質就返回false,否則就返回true class solution return true 有一塊木板,長度為 n 個 單位 一些螞蟻在木板上移動,每只螞蟻都以 每秒乙個單位 的速度移動。其中,一部分螞蟻向 左 移動,其他螞蟻向 右 移動。當兩隻向 不同 方...