1. 程式人生 > 實用技巧 >簡單利用PoolingHttpClientConnectionManager來優化HttpClient方法,避免httpclient導致的排隊堆積

簡單利用PoolingHttpClientConnectionManager來優化HttpClient方法,避免httpclient導致的排隊堆積

技術標籤:Leecode

1081. 不同字元的最小子序列

返回 s 字典序最小的子序列,該子序列包含 s 的所有不同字元,且只包含一次。

思路

  • 首先就想到了單調棧,維護一個單點遞增棧,可以得到字典序最小的子序列。
  • 但是單調棧沒有考慮題目的條件,需要包含所有不同字元並且只能出現一次,因此需要一個記錄當前棧出現字元的陣列,以及一個計算字元總數的陣列,如果需要刪除的字元在後面不出現了,就不能刪除了。

程式碼

class Solution {
public:
    string smallestSubsequence(string s) {
        vector<int> count
(26, 0), vis(26, 0); for(const char& c : s) { ++count[c - 'a']; } string ans = ""; for(const char& c : s) { if(!vis[c - 'a']) { while(!ans.empty() && ans.back() > c) { if(count[ans.
back() - 'a'] > 0) { vis[ans.back() - 'a'] = 0; ans.pop_back(); } else { break; } } ans.push_back(c); vis[c - 'a'] = 1;
} --count[c - 'a']; } return ans; } };