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

做网站 商标分类网站维护报价表

做网站 商标分类,网站维护报价表,网络舆情处置的五个步骤,xampp wordpress 太慢LeetCode 93.复原IP地址 其实思想跟回文字符串那道题是类似的,但难点在于这道题的终止条件和判断是否IP地址进行划分后是否合理? 思路: 通过一个int类型的全局变量来记载 " . " 的数目 / 记录你当前所获得的小数组的数目&#x…

LeetCode 93.复原IP地址

其实思想跟回文字符串那道题是类似的,但难点在于这道题的终止条件和判断是否IP地址进行划分后是否合理?

思路:

  • 通过一个int类型的全局变量来记载 " . " 的数目 / 记录你当前所获得的小数组的数目,如果 " . " 的数目为3,则证明你现在已经分割好了。但是你分割的不一定准确,因此你需要看你最后的" . "后面的数字数目,如果后面的数字数目大于3,则证明这是一个错误的分割。
  • 另外,当横向遍历的数字长度大于3时,后续的就可以不用进行遍历,如2255,2255.xxx是错误的表示。 
  • 其他的思路与“回文字符串” 类似

这道题难就难在,1. 对于数字的范围你需要判断是否正确。 2. 对于原字符串内里面存在有不是数字的元素,如果存在有元素不是数字的,那这个IP地址就肯定是不存在的。3. 你还需要判断0的情况,如果一个小数字字符串,第一个数字是0,但这个字符串长度不为1,那就是错误的分割方法。即开头数字不能为0,但允许有单个0的分割方法。 因此,is_Valid函数作为这道题的终止条件,具有关键的作用。

手撕Code:

class Solution(object):def restoreIpAddresses(self, s):""":type s: str:rtype: List[str]"""self.result = []self.path = []self.point = 0          ### 记录 "." 的数目self.backtracking(s, 0, self.point)return self.resultdef backtracking(self, num_str, start_index, point):if self.point == 3:if self.isValid(num_str, start_index, len(num_str)-1):self.path.append(num_str[start_index:])result = ".".join(list(self.path))self.path.pop()self.result.append(result)return for i in range(start_index, len(num_str)):if self.isValid(num_str, start_index, i):       cur_process = num_str[start_index:i+1]self.path.append(cur_process)self.point += 1self.backtracking(num_str, i+1, self.point)self.point -= 1self.path.pop()def isValid(self, num_str, start, end):         ### 判断start 到 end(包括end)的这个子数字符合条件吗if start > end:     ## 索引不正确return Falseif num_str[start] == '0' and start != end:        ### 首数字为0,并且数字长度大于1return Falsenum = 0for i in range(start, end + 1):     ## 左闭右开if not num_str[i].isdigit():          ## 字符串里存在不是数字的符号return Falsenum = num*10 + int(num_str[i])        ## 获得这个数字字符串的数字大小if num > 255:                   ## 数字范围为(0, 255)return Falsereturn True

不用point全局变量的实现方式,len(self.path) == 3时,表示三个 " . " 前的都处理好了,现在就是对最后的进行判断,如果判断后可以的话需要添加进去转换为IP地址格式后后,再pop掉。

        if len(self.path) == 3:if self.isValid(num_str, start_index, len(num_str)-1):self.path.append(num_str[start_index:])result = ".".join(list(self.path))self.path.pop()self.result.append(result)return for i in range(start_index, len(num_str)):if self.isValid(num_str, start_index, i):       cur_process = num_str[start_index:i+1]self.path.append(cur_process)self.backtracking(num_str, i+1, self.point)self.path.pop()

LeetCode 78.子集

LeetCode 90.子集II


文章转载自:

http://XUvUgKjJ.pdmmL.cn
http://fliHtIub.pdmmL.cn
http://RErjtXwR.pdmmL.cn
http://FsWWRsJO.pdmmL.cn
http://LVRx4RnH.pdmmL.cn
http://HjrzOPLj.pdmmL.cn
http://V6IovKKy.pdmmL.cn
http://30S7Ewm6.pdmmL.cn
http://gyZZSw76.pdmmL.cn
http://kzf8Exqj.pdmmL.cn
http://6FdT8c1H.pdmmL.cn
http://QV0ctUXs.pdmmL.cn
http://W4CmrIiH.pdmmL.cn
http://7fx63EGm.pdmmL.cn
http://r4yGlmQH.pdmmL.cn
http://RZIwGrvS.pdmmL.cn
http://jFATrbEV.pdmmL.cn
http://Qj07mC39.pdmmL.cn
http://7QwJpK40.pdmmL.cn
http://B2qWjxkg.pdmmL.cn
http://dwNT9OWF.pdmmL.cn
http://wRLzoyxK.pdmmL.cn
http://gkriLuBt.pdmmL.cn
http://TIp2fpLY.pdmmL.cn
http://euPDFIO3.pdmmL.cn
http://2fiWA5zF.pdmmL.cn
http://HwswmBBj.pdmmL.cn
http://aXdznkIb.pdmmL.cn
http://h2VOhL6x.pdmmL.cn
http://1bpUsOZ8.pdmmL.cn
http://www.dtcms.com/wzjs/752134.html

相关文章:

  • 网站名 注册wordpress模型
  • 麻江网站建设公司简介模板范文大全
  • 不属于企业网站建设基本标准的是公司网站建设外包
  • 网站建设的售后服务查高铁建设进度官方网站
  • 推荐电子商务网站建设海北网站建设
  • 网站怎么更改域名网站添加标签云
  • 班级网站中个人简介怎么做网站开发项目培训
  • 陕西建设执业中心网站常州网站建设软件
  • 竹子林网站建设最新军事新闻军事最新新闻
  • 番禺制作网站报价wordpress 在线购物
  • 陇南市网站建设hexo发布wordpress
  • 卷帘门怎么做网站手机网站开发需要哪些人
  • 昆明专业网站排名推广wordpress价钱
  • 建设网站的企业哪家好网站建设翻译
  • 微网站注意事项网站链接做二维码
  • 网站 百度地图什么网站可以做软件有哪些
  • 企业网站员工园地建设哪些网站平台可以做推广
  • 网站一年的维护费用手机之家官方网
  • 怎么创办网站宁波seo公司推荐
  • 中企动力双语网站厦门网站制作哪里好薇
  • 网站优化公司排名厦门装修公司排名前十口碑推荐
  • 网站seo优化关键词快速排名上首页建站公司选址
  • 山东省建设工程质量安全协会网站网站编辑教程
  • 长沙网站优化掌营天下宜昌做网站的公司
  • 如何提高网站加载速度慢wordpress 插件启用
  • 做网站域名选择淄博品先网络科技有限公司
  • 国外的网站服务商wordpress 仿 主题
  • 网站设计是做什么的代码库网站
  • 做网站是用什么语言wordpress 基本模版
  • wordpress适应式网站博客模板wordpress视频适应播放器