当前位置: 首页 > news >正文

鼓楼微网站开发深圳建设集团有限公司官网

鼓楼微网站开发,深圳建设集团有限公司官网,国外做ppt的网站有哪些,营销玩法原题#xff1a;128. 最长连续序列 题解#xff1a; 官方题解#xff1a;. - 力扣#xff08;LeetCode#xff09;题解#xff0c;最长连续序列 #xff1a;哈希表 官方解题思路是先去重#xff0c;然后判断模板长度的数值是否存在#xff0c;存在就刷新#xff0c…原题128. 最长连续序列 题解 官方题解. - 力扣LeetCode题解最长连续序列 哈希表 官方解题思路是先去重然后判断模板长度的数值是否存在存在就刷新最终找到最大值。 这里我自己研究了下实际也是暴力解法。纯暴力解法会超时这里利用了二分法查找的理念 首先去重然后排序固定begin然后找最大的end返回使用二分法理念进行查找依次遍历在已经找到的最大值返回 自己尝试了下部分通过有些边界值不太好控制而且输入里面有负数也不太好计算。 还有一种解题方法就是在官方题解上做个变化 首先去重然后排序依次遍历找到满足的最长子数组返回其长度。 代码 func longestConsecutive(nums []int) int {// 如果数组为空或者只有一个元素直接返回数组长度if len(nums) 1 {return len(nums)}// 去重numSet : map[int]bool{}for _, num : range nums {numSet[num] true}// 排序numTemp : make([]int, 0)for num : range numSet {numTemp append(numTemp, num)}sort.Ints(numTemp)// fmt.Printf(numTemp %v\n, numTemp)// 暴力解法longestStreak : 0for begin : range numTemp {// 当剩余的个数小于当前最大长度则后面不可能有满足条件的更大的值返回if beginlongestStreak len(numTemp) {return longestStreak 1}temp : BinarySearchMatch(numTemp, begin, longestStreak)if longestStreak temp {longestStreak temp}}return longestStreak 1 }func BinarySearchMatch(numTemp []int, begin, cur int) int {longestStreak : cur// 当前最大可用差值curMaxDiff : len(numTemp) - begin - 1// 使用二分法的理念查询满足条件的数据for end : len(numTemp) - 1; end begin; {// fmt.Printf(begin %v, end %v, curMaxDiff %v\n, begin, end, curMaxDiff)// 索引差值超过最大值返回end超过数组范围返回if curMaxDiff len(numTemp) || end len(numTemp) {break}// 差值为0时有可能会遗漏一个判断end的下一个是否满足条件if curMaxDiff 0 {if end len(numTemp)-1 numTemp[end1]-numTemp[begin] end1-begin {longestStreak end 1 - begin}if end begin numTemp[end-1]-numTemp[begin] end-1-begin {longestStreak end - 1 - begin}if end begin numTemp[end]-numTemp[begin] end-begin {longestStreak end - begin}break}// 数值差值valDiff : numTemp[end] - numTemp[begin]// 索引差值indexDiff : end - begin// 二分法找到合适的索引end// 索引差值 数值差值数值太大了中间有不连续的往前移动curMaxDiff/2if valDiff indexDiff indexDiff ! 0 {curMaxDiff curMaxDiff / 2end end - curMaxDiffcontinue}// 索引差值 数值差值这种不可能存在因为已经去重了// 索引差值 数值差值后面可能还有满足条件的继续找if valDiff indexDiff {// 刷新最大值if longestStreak valDiff {break}longestStreak valDiff// end后移curMaxDiff/2curMaxDiff curMaxDiff / 2end end curMaxDiffcontinue}}return longestStreak } 第二种方法 func longestConsecutive(nums []int) int {// 如果数组为空或者只有一个元素直接返回数组长度if len(nums) 1 {return len(nums)}// 去重numSet : map[int]bool{}for _, num : range nums {numSet[num] true}// 排序numTemp : make([]int, 0)for num : range numSet {numTemp append(numTemp, num)}sort.Ints(numTemp)//fmt.Printf(numTemp %v\n, numTemp)// 暴力解法longestStreak : 0for num : range numTemp {if num len(numTemp)-1 numTemp[num]1 numTemp[num1] {currentNum : numcurrentStreak : 1for currentNum len(numTemp)-1 numTemp[currentNum]1 numTemp[currentNum1] {currentNumcurrentStreak}if longestStreak currentStreak {longestStreak currentStreak}}}return longestStreak }
http://www.hkea.cn/news/14298511/

相关文章:

  • 信息网站 模板创意设计公司官网
  • 微信公众号的网站企业营销是啥意思
  • 哪个域名注册网站好西安网站建设多少钱
  • 网站建设颜色注意事项电子商城网站建设参考文献
  • 网站建设介绍推广用语西安网站建立
  • 教学成果申报网站 化工专业建设买了网站模版怎么做
  • 成都专业网站营销北辰手机网站建设
  • 有创意的网站开发都匀网站建设公司
  • 网站目录权限设置东莞软文推广
  • 关于怎样把网站建设好的一些建议cms影视源码采集
  • 校园局域网站建设费用给个网站能用的2022
  • 做网站需要备案吗服装网站建设发展状况
  • 哪个网站代做ppt便宜长清网站建设
  • 石家庄集团公司网站建设wordpress主题怎么设置tdk
  • 内衣网站建设推广手机网站 微信平台
  • 做类似简书的网站排名
  • php企业网站 源码企业电子商务网站建设总结
  • 做建筑效果图最好的网站12380网站建设情况
  • 集团公司网站模板装修网页设计网站
  • 推荐佛山伦教网站设计网站空间和数据库空间
  • 泰州企业网站模板建站网站重大建设项目公开发布制度
  • 网站微信登录怎么做杭州比较好的软装设计公司
  • 企业网站建设好处中国制造网简介
  • 网站逻辑结构优化是指万家建设有限公司网站
  • 装饰网站建设优惠套餐企业网络营销分析报告
  • 上海市建设安全协会网站查询系统瘫网站开发方案 文档
  • 盘锦网站建设公司wap端网站建设
  • 商城网站建设资讯网站丢失了怎么办啊
  • 手机网站建站工作室网站怎么推广引流
  • 电商网站策划物流门户网站开发 报价