国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

128. Longest Consecutive Sequence

2019-11-08 03:21:10
字體:
來源:轉載
供稿:網友

有意思的一題,首先,時間需要時on,這個時間想到的只有hashmap,treemap不行,因為tree的操作的ologn,hasdmap是o1,然后遍歷一次。如果這個數的左右兩邊沒數,則·dp=1 有數的話,就更新一段聯系區間的最左右的端點的dp值,dp值表示包括這個數在內的連續最大長度。所以時間上應該是on,其實我覺得是o3n,不過好像題解就是這個方法。。。。 2刷學習一下別人6巷代碼的寫法 Ps 這題是用unordered_map!!!!!

class Solution {public: int longestConsecutive(vector<int>& nums) { unordered_map<int, int>dp; int maxx = 1; for(int i = 0; i < nums.size(); ++ i){ if(dp.find(nums[i]) != dp.end()){ continue; } int t; if(dp.find(nums[i] - 1) != dp.end() && dp.find(nums[i] + 1) != dp.end()){ dp[nums[i]] = dp[nums[i] - 1] + dp[nums[i] + 1] + 1; t = dp[nums[i]]; dp[nums[i] - dp[nums[i] - 1]] = t; dp[nums[i] + dp[nums[i] + 1]] = t; } else if(dp.find(nums[i] - 1) != dp.end()){ dp[nums[i]] = dp[nums[i] - 1] + 1; t = dp[nums[i]]; dp[nums[i] - dp[nums[i] - 1]] = t; } else if(dp.find(nums[i] + 1) != dp.end()){ dp[nums[i]] = dp[nums[i] + 1] + 1; t = dp[nums[i]]; dp[nums[i] + dp[nums[i] + 1]] = t; } else{ dp[nums[i]] = 1; } if(maxx < t) maxx = t; } return maxx; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 农安县| 沧州市| 嘉兴市| 巴楚县| 新巴尔虎右旗| 青铜峡市| 新河县| 镇赉县| 乐陵市| 上高县| 崇信县| 临泉县| 开化县| 故城县| 普兰县| 大宁县| 鄂州市| 富锦市| 隆化县| 湘潭市| 渑池县| 长子县| 西华县| 凉山| 湖州市| 黄梅县| 周至县| 祁连县| 永修县| 张家界市| 鄱阳县| 蕲春县| 河曲县| 邢台县| 射洪县| 武平县| 丹东市| 平原县| 嘉义县| 横峰县| 新野县|