題目:輸入乙個任意長度的數字序列,如果將數字序列的每一位看做乙個單獨的數字,則每個序列都可以看做是由數字0~9組成的乙個排列。輸出比輸入序列大的最小排列,如果這樣的序列不存在,則輸出輸入序列。
示例:input
output
explanation
"1""2""3"組成的排列從小到大有123,132,213,231,312,321,其中大於123的最小者是132
解法:我和原文大佬解法基本相同
1、字串從後向前遍歷,當發現某一位比前一位大的時候,意味著解出現
2、之後遍歷找到的字元後面的全部字元,找到比該字元大的最小字元
3、交換兩個字元
4、將後面全部字元公升序排列
**如下:
#include #include #include using namespace std;
string s;
int main() }
if (flag == -1)//不存在的情況
else//存在的情況
else if(s[i] > c1 && s[i] <= s[maxmin])
}//如果沒有直接交換
if (!moreone)
//後面公升序排序
sort(s.begin() + flag + 1, s.end());
cout << s;
} return 0;
}
跨專業保研計算機
目前本科在讀,大三,某地質大學偏地質和地理的專業,大一的時候由於種種原因放棄了轉專業。目前對本專業漸漸失望,於是從去年10月份以來搜尋了很多關於跨專業保研的帖子。這裡進行乙個簡單的整理,方便自己看也方便其他有同樣想法的小夥伴們看。來自帖子 主要有中科院軟體所 南大計算機 浙大軟院 北大軟微 中科大軟...
2020計算機保研經驗貼
南大軟院 最期待的乙個,因為在候補裡,所以從7月份到10月份忐忑了3個月,好在最後的結果是滿意的。夏令營包括機試和面試,機試通過的才有資格面試。機試是5道演算法題,面試主要是問你的 和專案,南大的老師是唯一乙個看了 題目就知道我的 內容的,讓我非常佩服,好感倍增,不過我的專案比較少,因此最後只有良好...
2020計算機專業保研經驗貼
本人本科就讀於某末流211軟體工程專業,績點排名20 404。已過四六級 但分數都很尷尬 無 無科研經歷,只有少數兩三個省獎。我分析了下自身情況,在保研過程中,我這種條件的可以說是毫無競爭力,特別是在今年這種競爭激烈的情勢下。由於今年都是線上面試,大多數人都採取了海投戰略,我也不例外。我基本上投了1...