LeetCode 2019 力扣杯全國秋季程式設計大賽

2021-09-27 09:45:17 字數 3017 閱讀 8831

2019.9.24晚,第一次參加線上比賽

比賽排名結果:582/1541,做出了2道題。。。

我證明了:我不是最菜的!!!

小a 和 小b 在玩猜數字。小b 每次從 1, 2, 3 中隨機選擇乙個,小a 每次也從 1, 2, 3 中選擇乙個猜。他們一共進行三次這個遊戲,請返回 小a 猜對了幾次?

輸入的guess陣列為 小a 每次的猜測,answer陣列為 小b 每次的選擇。guess和answer的長度都等於3。

示例 1:

輸入:guess = [1,2,3], answer = [1,2,3]

輸出:3

解釋:小a 每次都猜對了。

示例 2:

輸入:guess = [2,2,3], answer = [3,2,1]

輸出:1

解釋:小a 只猜對了第二次。

限制:

guess的長度 = 3

answer的長度 = 3

guess的元素取值為 之一。

answer的元素取值為 之一。

送分題目,不解釋,只是一開始覺得這麼簡單,會不會坑我

class

solution

return count;}}

;

有乙個同學在學習分式。他需要將乙個連分數化成最簡分數,你能幫助他嗎?

連分數是形如上圖的分式。在本題中,所有係數都是大於等於0的整數。

輸入的cont代表連分數的係數(cont[0]代表上圖的a0,以此類推)。返回乙個長度為2的陣列[n, m],使得連分數的值等於n / m,且n, m最大公約數為1。

示例 1:

輸入:cont = [3, 2, 0, 2]

輸出:[13, 4]

解釋:原連分數等價於3 + (1 / (2 + (1 / (0 + 1 / 2))))。注意[26, 8], [-13, -4]都不是正確答案。

示例 2:

輸入:cont = [0, 0, 3]

輸出:[3, 1]

解釋:如果答案是整數,令分母為1即可。

限制:cont[i] >= 0

1 <= cont的長度 <= 10

cont最後乙個元素不等於0

答案的n, m的取值都能被32位int整型存下(即不超過2 ^ 31 - 1)。

class

solution

return;}

};

力扣團隊買了乙個可程式設計機械人,機械人初始位置在原點(0, 0)。小夥伴事先給機械人輸入一串指令command,機械人就會無限迴圈這條指令的步驟進行移動。指令有兩種:

u: 向y軸正方向移動一格

r: 向x軸正方向移動一格。

不幸的是,在 xy 平面上還有一些障礙物,他們的座標用obstacles表示。機械人一旦碰到障礙物就會被損毀。

給定終點座標(x, y),返回機械人能否完好地到達終點。如果能,返回true;否則返回false。

示例 1:

輸入:command = "urr", obstacles = , x = 3, y = 2

輸出:true

解釋:u(0, 1) -> r(1, 1) -> r(2, 1) -> u(2, 2) -> r(3, 2)。

示例 2:

輸入:command = "urr", obstacles = [[2, 2]], x = 3, y = 2

輸出:false

解釋:機械人在到達終點前會碰到(2, 2)的障礙物。

示例 3:

輸入:command = "urr", obstacles = [[4, 2]], x = 3, y = 2

輸出:true

解釋:到達終點後,再碰到障礙物也不影響返回結果。

限制:2 <= command的長度 <= 1000

command由u,r構成,且至少有乙個u,至少有乙個r

0 <= x <= 1e9, 0 <= y <= 1e9

0 <= obstacles的長度 <= 1000

obstacles[i]不為原點或者終點

};

上面的效率還是有問題,可能不能這麼幹

正解:

class

solution

circle =

min(x/ax, y/by)

;//迴圈次數

px = x-ax*circle;

py = y-by*circle;if(

!m.count

(px)

||!m[px]

.count

(py)

)return

false

;//終點不在路徑上

for(

int i =

0; i < obstacles.

size()

;++i)

return

true;}

};

12 ms 8.4 m

leetcode2019秋季程式設計比賽

前兩道簡單題應該屬於送分題,但是第二題由於不熟練加上有坑,所以還是做了很久。第二題題目大概意思是給出乙個陣列存放連分數的各個引數 一開始的思路是用double型別的值存結果,最後考慮怎麼把double型別化簡,最後發現比較麻煩。更簡單的方法是每一步儲存n和m兩個變數,然後交換兩者的值,最後一步不交換...

打家劫舍 力扣 LeetCode

你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...

2019 力扣杯 全國高校春季程式設計大賽題解

給定乙個數字n,當它滿足以下條件的時候返回true 把原數字旋轉180 以後得到新的數字。如 0,1,6,8,9 旋轉 180 以後,得到了新的數字 0,1,9,8,6 2,3,4,5,7 旋轉 180 後,得到的不是數字。易混淆數字 confusing number 就是乙個數字旋轉180 以後,...