c盤清理的步驟是什么(如何清理C盤空間)
如何清理C盤空間怎么清理C盤的垃圾文件?每天上網(wǎng)會(huì)給電腦帶來很多臨時(shí)文件,這些垃圾文件不清理掉時(shí)間久了就會(huì)影響到電腦的運(yùn)行速度。那怎
2022/12/08
(相關(guān)資料圖)
題目:
已知一個(gè)由像素點(diǎn)組成的單色屏幕,每行均有w?個(gè)像素點(diǎn),所有像素點(diǎn)初始為0?,左上角位置為(0,0)。
現(xiàn)將每行的像素點(diǎn)按照「每32?個(gè)像素點(diǎn)」為一組存放在一個(gè)int?中,再依次存入長(zhǎng)度為length的一維數(shù)組中。
我們將在屏幕上繪制一條從點(diǎn)(x1,y)?到點(diǎn)(x2,y)?的直線(即像素點(diǎn)修改為1),請(qǐng)返回繪制過后的數(shù)組。
注意:
用例保證屏幕寬度w?可被 32 整除(即一個(gè)int不會(huì)分布在兩行上)
示例1:
輸入:length = 1, w = 32, x1 = 30, x2 = 31, y = 0 輸出:[3] 解釋:在第 0 行的第 30 位到第 31 位畫一條直線,屏幕二進(jìn)制形式表示為 [00000000000000000000000000000011],因此返回 [3]
示例2:
輸入:length = 3, w = 96, x1 = 0, x2 = 95, y = 0 輸出:[-1, -1, -1] 解釋:由于二進(jìn)制 11111111111111111111111111111111 的 int 類型代表 -1,因此返回 [-1,-1,-1]
代碼實(shí)現(xiàn):
class Solution { public int[] drawLine(int length, int w, int x1, int x2, int y) { StringBuilder sb = new StringBuilder(); // 計(jì)算字符串的哪些位置需要置為1。 int start = y * w + x1, end = y * w + x2; for(int i = 0;i < 32 * length; ++i){ if(sb.length() >= start && sb.length() <= end){ sb.append("1"); } else{ sb.append("0"); } } int[] result = new int[length]; // 以32位為單位截取字符串轉(zhuǎn)化為整型。 for(int i = 0;i < length; ++i){ // 注意此處int類型無法處理32位的1。可以使用Integer.parseUnsignedInt()或者Long.parseLong()方法。 result[i] = Integer.parseUnsignedInt(sb.substring(i * 32, i * 32 + 32), 2); } return result; }}