傳送門
就是名字的字面意思
將陣列中的元素按照其二進位制表示中數字 1 的數目公升序排序。如果存在多個數字二進位制中 1 的數目相同,則必須將它們按照數值大小公升序排列。
按題意模擬
int
cmp(vector<
int> a, vector<
int> b)
class
solution
return ans;
} vector<
int>
sortbybits
(vector<
int>
& arr)
sort
(sort.
begin()
,sort.
end(
),cmp)
;for
(int i=
0;i++i)
arr[i]
=sort[i][0
];return arr;}}
;
有一些顧客要買一些商品,商品的**和數量給出,商家每隔n個顧客會打折,問每個人實際花銷。
按題意模擬。。
class
cashier
double
getbill
(vector<
int> product, vector<
int> amount)}if
(tot%n==0)
p=p-((
double
)discount*p)
/100.0
;return p;}}
;/**
* your cashier object will be instantiated and called as such:
* cashier* obj = new cashier(n, discount, products, prices);
* double param_1 = obj->getbill(product,amount);
*/
給出乙個字串,求包含了三種字元的子字串數目。
雙指標,左指標列舉子串的開頭,右指標指向符合要求的最短子串結尾(子串結尾在右指標之右的肯定都成立,直接計算),顯然兩指標單調。
class
solution
if(a&&b&&c)
ans+
=n-r;
if(s[l]
=='a'
)--a;
else
if(s[l]
=='b'
)--b;
else
--c;
++l;
}return ans;}}
;
給出n個二元組,將其合併產生乙個長度為2n的排列,其中二元組的內部順序不能改變,求可能的排列個數。(給出的n個二元組互不相同)。
數學題?不不,還是模擬。
乙個乙個的排,只不過用乙個等差數列求和公式這也叫數學題
class
solution
return ans;}}
;
leetcode第8場雙周賽
這次雙周賽有意外,第二第三題按照提示返回int會報錯,要返回list 第一題給你乙個字串 s,返回只含 單一字母 的子串個數。示例 1 輸入 aaaba 輸出 8 解釋 只含單一字母的子串分別是 aaa aa a b aaa 出現 1 次。aa 出現 2 次。a 出現 4 次。b 出現 1 次。所以...
leetcode第 24 場雙周賽
給你乙個整數陣列nums。你可以選定任意的正數startvalue 作為初始值。你需要從左到右遍歷nums陣列,並將 startvalue 依次累加上nums陣列中的值。請你在確保累加和始終大於等於 1 的前提下,選出乙個最小的正數作為 startvalue 輸入 nums 3,2,3,4,2 輸出...
leetcode 第27場雙周賽
通過翻轉子陣列使兩個陣列相等 檢查乙個字串是否包含所有長度為k的二進位制子串 課程安排 摘櫻桃 3分 簡單 4分 中等 5分 中等 6分 困難 翻譯下題意,其實就是問我們兩個陣列是否相等,判斷陣列是否相等有很多方法,這邊我直接排序,遍歷一遍看是否有不一樣的元素 陣列排序的複雜度,故為o nlogn ...