1497 檢查陣列對是否可以被 k 整除

2021-10-10 14:10:08 字數 690 閱讀 3434

題目描述:給你乙個整數陣列 arr 和乙個整數 k ,其中陣列長度是偶數,值為 n 。現在需要把陣列恰好分成 n / 2 對,以使每對數字的和都能夠被 k 整除。如果存在這樣的分法,請返回 true ;否則,返回 false 。

解題思路:如果xy的和能被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是可變的,指向串池中同乙個物件的其他變數值也會發生...