題目描述:給你乙個整數陣列 arr 和乙個整數 k ,其中陣列長度是偶數,值為 n 。現在需要把陣列恰好分成 n / 2 對,以使每對數字的和都能夠被 k 整除。如果存在這樣的分法,請返回 true ;否則,返回 false 。
解題思路:如果x
與y
的和能被k整除,那說明x%k+y%k
能被k整除,因此我們對arr陣列中的每個數對k取模,用雜湊表記錄每個餘數出現的次數,然後按照餘數進行配對,如果餘數為零,那麼要求0出現的次數為偶數,對其他的餘數t,要求k-t出現的次數和t出現次數相同,**如下:
class
solution
:def
canarrange
(self, arr: list[
int]
, k:
int)
->
bool
: mod =[0
]* k
for num in arr:
mod[num%k]+=1
for i in
range(1
, k)
:if mod[i]
!= mod[k-i]
:return
false
return mod[0]
%2==0
c 檢查檔案是否被開啟
using system.io using system.runtime.interopservices 首先引用api 函式 dllimport kernel32.dll private static extern intptr lopen string lppathname,int ireadw...
檢查Linux系統是否被入侵
今天看到乙個有意思的攻擊方式,系統被人入侵,當這個入侵程式執行的時候會產生乙個程序pid,一般這個程序不是在 proc中產生的,所以可以用指令碼匹配系統有沒有被入侵。嘗試一下指令碼,學習shell中。我用ps aux可以檢視到程序的pid,而每個pid都會在 proc中產生。如果檢視到的pid在 p...
String類是否可以被繼承?
不可以被繼承,因為該類被定義成final.用final定義的原因 1 為了實現字串池。2 為了執行緒安全 3 保證快取的hashcode不可變性,提高效能 string類為什麼是不可變的物件?1 字串池的實現可以節約很多heap空間,如果string是可變的,指向串池中同乙個物件的其他變數值也會發生...