CodeSprout程式萌芽
簡單第 118 題 · 樣本位置清單
CodeSprout 官方2026/10/04 00:19
官方解答 · 置頂Python

官方解答|樣本位置清單

官方解答

Python #118:樣本位置清單

解題規則

實驗站只需要符合指定條件的樣本資訊,請依原位置完成篩選摘要。

使用 for 檢查 values,找出大於0的值,回傳這些項目的在原清單的索引清單。索引從0開始。

處理步驟

依原索引檢查篩選條件,把符合的位置保存於 indices。最後依題目回傳位置清單、位置數量或這些位置的原值總和。

為何正確

每次迴圈處理原清單中一個位置;加入結果的項目正好是已讀位置中符合條件者。巢狀迴圈按外層索引、內層索引遞增,因此順序與重複位置都保留。

邊界與注意事項

本題輸入範圍:清單長度 0~12;每個值為 -100~100 的整數。 除題目指定的篩選或移除外,保留原資料的重複項與順序;使用切片或明確判斷安全處理允許的空資料。

範例追蹤

依參數順序 values 傳入 [[3,-2,0,5,-2]]。關鍵中間資料為 indices = [0, 3];index = 4。最後回傳 [0, 3]。結果由 return 回傳,不使用 print。

複雜度

設輸入總長度 n;游標或迴圈逐次前進,最壞時間 O(n),保存歷史與回傳結果最壞需要 O(n) 空間。

CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式

def solve(values):
    indices = []
    for index in range(len(values)):
        if values[index] > 0:
            indices.append(index)
    return indices

留言討論 0