給你乙個整數陣列 nums 。
如果一組數字 (i,j) 滿足 nums[i] == nums[j] 且 i < j ,就可以認為這是一組 好數對 。
返回好數對的數目。
題解首先想到的方法兩重for迴圈直接遍歷,如果兩數相等則count++
class
solution
}return count;}}
;
但是這樣效率一定是比較低的 因為如果有三個數字相同,位置分別為1,3,5,那麼第一遍遍歷發現了這三個數相同則count加2,但是當從遍歷到三位置開始時又會重新判斷是否跟5相同然後count+1,然而實際上這是應該由第一遍遍歷就得到的資訊,由此產生了第二種方法,統計每個數字出現的個數,再通過組合數進行計算好數對數目。
class
solution
;int count=0;
for(
int i=
0; isize()
; i++
)for
(int i=
1; i<
101; i++)}
return count;}}
;
倍增好題記錄
超級鋼琴 bzoj 2006 noi 2010 超級鋼琴 貪心 st表 堆 藥不能停 hdu 3712 fiolki 帶邊權並查集 啟發式合併 監控 類似 國旗計畫 不同的是要去掉被完全包含的區間 國旗計畫 bzoj4444 luogu 4155 loj 2007 scoi2015 國旗計畫 倍增 ...
每天leetcode 記錄
給定範圍 m,n 其中 0 m n 2147483647,返回此範圍內所有數字的按位與 包含 m,n 兩端點 示例 1 輸入 5,7 輸出 4 示例 2 輸入 0,1 輸出 0 貢獻者class solution return m 刪除鍊錶中等於給定值 val 的所有節點。示例 輸入 1 2 6 3...
暑假集訓前好題記錄
luogu4768 noi2018 歸程 dijkstra kruskal重構樹 hnoi2016 樹 可持久化線段樹 樹上倍增 luogu 4688 ynoi2016 掉進兔子洞 莫隊 bitset bzoj4358 permu 可撤銷的莫隊 bzoj 3173 tjoi 2013 最長上公升子串...