原创 1010. 總持續時間可被 60 整除的歌曲, leetcode

 在歌曲列表中,第 i 首歌曲的持續時間爲 time[i] 秒。 返回其總持續時間(以秒爲單位)可被 60 整除的歌曲對的數量。形式上,我們希望索引的數字 i 和 j 滿足  i < j 且有 (time[i] + time[j]) %

原创 面試題 08.06. 漢諾塔問題

在經典漢諾塔問題中,有 3 根柱子及 N 個不同大小的穿孔圓盤,盤子可以滑入任意一根柱子。一開始,所有盤子自上而下按升序依次套在第一根柱子上(即每一個盤子只能放在更大的盤子上面)。移動圓盤時受到以下限制: (1) 每次只能移動一個盤子;

原创 c++多線程, lock/try_lock/once_flag/ call_once

std::lock template<class Mutex1, class Mutex2, class ... Mutexes>     void lock(Mutex1& a, Mutex2& b, Mutexes&... cde);

原创 c++多線程,lock_guard

template<class Mutex> class lock_guard; lock_guard 是一個一直使互斥量鎖定的管理鎖對象; 在構建階段,互斥量被調用線程鎖定,在析構階段,鎖unlocked lock_guard是最簡單的鎖

原创 c++多線程,adopt_lock_t/defer_lock_t/try_to_lock_t

std::adopt_lock_t struct adopt_lock_t {}; constexpr adopt_lock_t adopt_lock {}; 是一個空類,作爲adopt_lock類型 對unique_lock or lo

原创 c++多線程,unique_lock

template<class Mutex> class unique_lock; unique_lock 不管時鎖定還是非鎖定狀態,unique_lock對互斥量有唯一ownership; 在構建或通過移動構造,unique lock獲得

原创 c++ valotile關鍵字

對於常量和指針類型如: valotile int a = 0; valotile* char ch = NULL; 作用是告訴編譯器,不要對我進行優化,如果涉及到我情況,如讀取整型a或者指針ch,需要在我的保存地址中進行存取; 對於多線程

原创 c++多線程,mutex/recursive_mutex鎖

mutex void lock() 使用鎖有三種情況, 1、任何線程都沒有使用mutex, 則調用的線程使用mutex 2、有其他線程使用mutex,當前調用的線程會阻塞,直到其他使用鎖的線程鎖釋放 3、如果mutex被同一線程調用,會產

原创 c++多線程,timed_mutex

timed_mutex constructor constexpr timed_mutex() no_exception; //object unlock state timed_mutex(const timed_mutex&) = d

原创 1395. 統計作戰單位數

 n 名士兵站成一排。每個士兵都有一個 獨一無二 的評分 rating 。 每 3 個士兵可以組成一個作戰單位,分組規則如下: 從隊伍中選出下標分別爲 i、j、k 的 3 名士兵,他們的評分分別爲 rating[i]、rating[j]、

原创 970. 強整數, leetcode

給定兩個正整數 x 和 y,如果某一整數等於 x^i + y^j,其中整數 i >= 0 且 j >= 0,那麼我們認爲該整數是一個強整數。 返回值小於或等於 bound 的所有強整數組成的列表。 你可以按任何順序返回答案。在你的回答中,

原创 1346. 檢查整數及其兩倍數是否存在

給你一個整數數組 arr,請你檢查是否存在兩個整數 N 和 M,滿足 N 是 M 的兩倍(即,N = 2 * M)。 更正式地,檢查是否存在兩個下標 i 和 j 滿足: i != j 0 <= i, j < arr.length arr[

原创 信號量 signal/raise

信號定義: signal void (*signal(int sig, void (*func)(int)))(int); Set function to handle signal Specifies a way to handle

原创 1417. 重新格式化字符串

  給你一個混合了數字和字母的字符串 s,其中的字母均爲小寫英文字母。 請你將該字符串重新格式化,使得任意兩個相鄰字符的類型都不同。也就是說,字母后面應該跟着數字,而數字後面應該跟着字母。 請你返回 重新格式化後 的字符串;如果無法按要求

原创 1010. 總持續時間可被 60 整除的歌曲

 在歌曲列表中,第 i 首歌曲的持續時間爲 time[i] 秒。 返回其總持續時間(以秒爲單位)可被 60 整除的歌曲對的數量。形式上,我們希望索引的數字 i 和 j 滿足  i < j 且有 (time[i] + time[j]) %