小公尺oj 9 移除 K 位得到最小值

2021-09-18 01:28:43 字數 509 閱讀 3956

題目:

ac**(python3)如下:

import sys

for line in sys.stdin:

line = line.strip()

num,k = line.split(' ')

k = int(k)

for i in range(k):

for j in range(9,-1,-1):

if str(j) in num:

t=num.index(str(j))

#剩餘需要去掉的個數k-i,至少t前面的都去掉,才能滿足

#如果k-i=t:

num = num[:t]+num[t+1:]

break

print(int(num))

思路:每次找最佳的數字,並去掉該數字。注釋部分已有說明,此處的t,雖然是索引值對應的位置,但在k-i>=t,應理解為去掉的num[t],實際上是第t+1位元素,它前面元素(高位數字)的個數為t。

小公尺OJ 9 移除 K 位得到最小值

思路 重複k次 1.找到並且刪除第乙個 num i num i 1 的第i位數字。2.若刪除過程中,序列變成遞增序列,則直接刪除最後一位。注意除去字串頭的0 def solution line num,k line.split for j in range 0,int k flag true for...

東華OJ 9 求階乘結果0的個數

問題描述 編寫乙個程式,求出n!的末尾含有多少個0。輸入說明 你的資料需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資料。每組輸入資料由一行組成,每行由乙個正整數n組成,n小於等於100000,在行首和行尾沒有多餘的空格。輸出說明 對每組測試資料,你的程式需要向標準輸出檔案 通常為啟動該程式的文字終...

小公尺oj記錄 (三十)反向位整數

描述 輸入32位無符號整數,輸出它的反向位。例,輸入4626149 以二進位制表示為00000000010001101001011011100101 返回2808701440 以二進位制表示為10100111011010010110001000000000 輸入 乙個無符號32位整數字串 輸出 乙個...