期中作業一
作業資訊
- Deadline: 10/21 08:00
- 繳交方式: eeclass 作業上傳區,檔名規定詳如各題說明
- Demo 時間地點: 10/24 原上課時段於原教室,另視情況使用課前與課後時段
- Speed Bonus: 5 分,依程式執行時間長短之排名給分
- Pylint Bonus: 5 分,依工具評定之程式碼風格分數給分
- 評分方式: 各題滿分皆為 100,本作業總分為 (Σi(第 i 題正確性 * 第 i 題 demo / 100)) / 4 + Pylint Bonus + Speed Bonus
題目敘述與分數比率
- Q1: League of Legends。
- Q2: Will You Survive?。
- Q3: 請解答此 LeetCode 問題:2465. Number of Distinct Averages。
- 檔名必須為「q3_你的學號.py」,例如 q3_9962816.py。
- 語言請選 Python3,Class 及 function 名稱請依 LeetCode 規定。
- 繳交作業時請把檔案開頭加上「from typing import List」,且除此之外,檔案內若有任何不屬於 class 中的程式碼,應包含在「if __name__ == '__main__':」當中,否則可能會有折扣。
- 本課程評分用測資有兩組,如下:
- 正確性評分用測資一組,內容符合 LeetCode 規定,通過此組測資者可拿到本題全部的正確性分數。
- Speed Bonus 評分用測資一組。你必須用相同程式碼
- 除 nums.length 必為正偶數外,無其他限制。
- 你必須用相同程式碼,同時通過「正確性評分用測資」和「Speed Bonus 評分用測資」的正確性檢驗,才能取得本 bonus 分數。
- 依班級整體排名狀況,來決定給分數字。
- Q4: 請解答此 LeetCode 問題:2404. Most Frequent Even Element。
- 檔名必須為「q4_你的學號.py」,例如 q4_9962816.py。
- 語言請選 Python3,Class 及 function 名稱請依 LeetCode 規定。
- 繳交作業時請把檔案開頭加上「from typing import List」,且除此之外,檔案內若有任何不屬於 class 中的程式碼,應包含在「if __name__ == '__main__':」當中,否則可能會有折扣。
- 本課程評分用測資僅一組,內容符合 LeetCode 之規定。
提示與注意事項
- 每題給分最小單位為一組測資,一組測資包含多筆(一筆為一個輸入&輸出的配對),每組的所有測資全對,才會拿到該組測資的分數。
- LeetCode 題之給分仍依課程測資為準。雖然課程測資未必會比 LeetCode 的測資嚴格,但仍建議各位不要打賭,亦即請先獲得 LeetCode Accepted 之後再交作業。
- Pylint Bonus
- 每題評分指令皆為「pylint --disable=C0103,C0111,C0114,C0116,C0301,C1801,R0903,R0911,R1705 your_file.py」。評分結果以教師安裝的版本(3.3.0)為準。
- 每題給分方式為 max(pylint-score, 0),整體分數取各題分數中位數乘以 0.5。
- 若在任一題的程式碼中,有試圖關閉或避開評分指令未列出的評比項目等行為時,本 bonus 不給分。
- 有可能會在期中作業二變成基本分。