2017校招 保留最大數

2021-08-17 04:44:50 字數 793 閱讀 1071

題目描述

給定乙個十進位制的正整數number,選擇從裡面去掉一部分數字,希望保留下來的數字組成的正整數最大。

輸入描述:

輸入為兩行內容,第一行是正整數number,1 ≤ length(number) ≤ 50000。第二行是希望去掉的數字數量cnt 1 ≤ cnt < length(number)。

輸出描述:

輸出保留下來的結果。

示例1

輸入

325 1

輸出 35

#include

#include

using

namespace

std;

/*思路:例如數字51643,需要刪除3位數而使剩下的數字組合最大,

此時需要從頭開始兩個數字比較大小, 如果當前數字比其下一位小,

則刪除當前數字,此時變為5643,繼續從頭開始遍歷,5比6小,則刪

除5,變為643繼續從頭遍歷,當走到4的位置發現4比3大,而且4已

經是倒數第二位數字,則刪除最後一位數字,就得到了64*/

int main()

}if (j == length - 1) //例如51643,當j到數字倒數第二位時,4比3大,此時要刪除3,

number.erase(number.end() - 1);

j--; //每次都需要j--使j從數字的開始遍歷。

}cout

<< number;

}return

0;}

保留最大數

輸入為兩行內容,第一行是正整數number,1 length number 50000。第二行是希望去掉的數字數量cnt 1 cnt length number 輸出保留下來的結果。示例1 325 1 35分析 每次將數字的第乙個字元和第二個字元比較,如果第乙個字元小於第二個字元,則刪除第乙個字元,...

nowcoder 2017校招真題 保留最大的數

給定乙個十進位制的正整數number,選擇從裡面去掉一部分數字,希望保留下來的數字組成的正整數最大。輸入為兩行內容,第一行是正整數number,1 length number 50000。第二行是希望去掉的數字數量cnt 1 cnt length number 輸出保留下來的結果。輸入325 1 輸...

newCoder 2017春招真題 保留最大的數

題目描述 給定乙個十進位制的正整數number,選擇從裡面去掉一部分數字,希望保留下來的數字組成的正整數最大。輸入描述 輸入為兩行內容,第一行是正整數number,1 length number 50000。第二行是希望去掉的數字數量cnt 1 cnt length number 輸出描述 輸出保留...