解算法题的五个基本思路
生活随笔
收集整理的這篇文章主要介紹了
解算法题的五个基本思路
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
解算法題的四個(gè)基本思路:
一、閱讀完成條件
二、選擇數(shù)據(jù)結(jié)構(gòu)
三、時(shí)間復(fù)雜度分析
四、判斷邊界條件
五、繼續(xù)探索取巧方法
?
例子解析:
LeeCode 136題:只出現(xiàn)一次的數(shù)字
給定一個(gè)非空整數(shù)數(shù)組,除了某個(gè)元素只出現(xiàn)一次以外,其余每個(gè)元素均出現(xiàn)兩次。找出那個(gè)只出現(xiàn)了一次的元素。
?
解答思路:
一、閱讀完成條件:非空整數(shù)數(shù)組、每個(gè)元素出現(xiàn)兩次、1個(gè)元素出現(xiàn)1次
二、選擇數(shù)據(jù)結(jié)構(gòu):雙for循環(huán)、排序+二分法、HashMap
三、時(shí)間復(fù)雜度分析:雙for循環(huán)?、排序+二分法 、HashMap?
四、判斷邊界條件:排序+二分法需要考慮數(shù)組的邊界問(wèn)題
五、繼續(xù)探索取巧方法:異或解法:
int result = nums[0]; if (nums.length > 1) {for (int i = 1; i < nums.length; i++) {result = result ^ nums[i];}}return result;?
總結(jié)
以上是生活随笔為你收集整理的解算法题的五个基本思路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: QT 在注释中遇到意外的文件结束
- 下一篇: 向量与向量空间