易錯點合集

2022-08-23 08:27:09 字數 1651 閱讀 7552

1.priorityqueue的方法iterator()中提供的迭代器並不保證以有序的方式遍歷優先順序佇列中的元素,因此不能使用此迭代器依次遍歷priorityqueue中的隊頭元素。

2. hash函式避免衝突的經驗值取大質數(如果capacity比較大的話)。比如如下的衝突避免hash function。

1

private

int gethash(int

count)

9return

hash;

10 }

view code

附一張big prime number table

lwrupr

% err

prime

2526

10.416667

5326

271.041667

9727

280.520833

19328

291.302083

38929

2100.130208

769210

2110.455729

1543

211212

0.227865

3079

212213

0.113932

6151

213214

0.008138

12289

214215

0.069173

24593

215216

0.010173

49157

216217

0.013224

98317

217218

0.002543

196613

218219

0.006358

393241

219220

0.000127

786433

220221

0.000318

1572869

221222

0.000350

3145739

222223

0.000207

6291469

223224

0.000040

12582917

224225

0.000075

25165843

225226

0.000010

50331653

226227

0.000023

100663319

227228

0.000009

201326611

228229

0.000001

402653189

229230

0.000011

805306457

230231

0.000000

1610612741

3. 判斷兩個integer物件相等時一律用equals方法,只有integer的值在-128 - 127才不會new integer,直接==比較不會出錯。超出這個範圍比較的就是記憶體位址。

4.iterator中的next方法返回的是object物件,所以一定要記得強制轉換成原來的型別。比如(integer) it.next()。

面試易錯點

一 char str1 abc char str2 abc char str3 abc char str4 abc str1和str2是不相同的,str3和 str4是相同的,str1和str2是儲存在堆上,str3和 str4在常量區,這兩個指標指向的是同一位址 編譯器認為p1指向的 abc 和p...

總結 易錯點

題目要求是 結尾,我使用了str 1 str 2 single line containing only marks the end of a test case.題目給的是 f1 1 f2 2 fn fn 1 fn 2 n 3 我卻從f0開始推,並且迴圈跟著從0開始了 題目可能會出現一道腦筋急轉彎...

陣列易錯點

1.初始化定義 1.int n 常量表示式 常量表示式不能為變數 2.int main 內與int main 外的陣列初始化定義有區別 int main 內初始化為隨機,int main 外初始化值為0 2.資料範圍 a i 的i範圍不能超過常量表示式中的範圍 典型的陣列越界 3.陣列不能夠進行賦值...