精華區beta Marginalman 關於我們 聯絡資訊
※ 引述《SecondRun (南爹摳打)》之銘言: : 2037. Minimum Number of Moves to Seat Everyone : 有 n 個座位和 n 個學生在一個房間裡。給你一個長度為 n 的 seats 陣列,其中 seats[i] 是第 i 個座位的位置。同樣地,給你一個長度為 n 的 students 陣列,其中 students[j] 是第 j 個學生的位置。 : 你可以進行以下任意次數的移動: : 增加或減少第 i 個學生的位置 1 (即,將第 i 個學生從位置 x 移動到 x + 1 或 x - 1) : 返回將每個學生移動到一個座位的最小移動次數,使得沒有兩個學生在同一個座位上。 : 請注意,一開始可能有多個座位或學生位於相同位置。 : 思考: 貪婪 蛇摸智障題 我剛寫按下去還以為會error就過了== Code: impl Solution { pub fn min_moves_to_seat(mut seats: Vec<i32>, mut students: Vec<i32>) -> i32 { seats.sort(); students.sort(); let mut result = 0; for i in 0..students.len() { result += (seats[i] - students[i]).abs(); } result } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.143.172 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1718260984.A.31B.html ※ 編輯: yam276 (60.248.143.172 臺灣), 06/13/2024 14:43:24
wu10200512: 大師 06/13 14:44
oin1104: 大師 06/13 14:48
JIWP: 大師 06/13 14:48
DJYOSHITAKA: 你是大師 06/13 14:51
NTUtriangle: 大師 06/13 14:54