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

网站建设大体包含wordpress 百度分享

网站建设大体包含,wordpress 百度分享,房地产营销策略有哪些,三沙网站建设Python算法题集_环形链表 题234#xff1a;环形链表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【集合检索】2) 改进版一【字典检测】3) 改进版二【双指针】 4. 最优算法 本文为Python算法题集之一的代码示例 题234#xff1a;环形链表 … Python算法题集_环形链表 题234环形链表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【集合检索】2) 改进版一【字典检测】3) 改进版二【双指针】 4. 最优算法 本文为Python算法题集之一的代码示例 题234环形链表 1. 示例说明 给你一个链表的头节点 head 判断链表中是否有环。 如果链表中有某个节点可以通过连续跟踪 next 指针再次到达则链表中存在环。 为了表示给定链表中的环评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置索引从 0 开始。注意pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。 如果链表中存在环 则返回 true 。 否则返回 false 。 示例 1 输入head [3,2,0,-4], pos 1 输出true解释链表中有一个环其尾部连接到第二个节点。示例 2 输入head [1,2], pos 0 输出true 解释链表中有一个环其尾部连接到第一个节点。示例 3 输入head [1], pos -1 输出false 解释链表中没有环。提示 链表中节点的数目范围是 [0, 104]-105 Node.val 105pos 为 -1 或者链表中的一个 有效索引 。 **进阶**你能用 O(1)即常量内存解决此问题吗 2. 题目解析 - 题意分解 本题为链表的值查重本题的主要计算有2处1是链表遍历2是值比较基本的解法是单层循环必须读取链表数据后进行检测所以基本的时间算法复杂度为O(n - 优化思路 通常优化减少循环层次 通常优化增加分支减少计算集 通常优化采用内置算法来提升计算速度 分析题目特点分析最优解 链表需要遍历中进行值检查为提高检索速度可以采用哈希检索采用set、dict等数据结构 空间复杂度为O(1)的算法一般是需要用到快慢双指针 - 测量工具 本地化测试说明LeetCode网站测试运行时数据波动很大因此需要本地化测试解决这个问题CheckFuncPerf本地化函数用时和内存占用测试模块已上传到CSDN地址Python算法题集_检测函数用时和内存占用的模块本题很难超时本地化超时测试用例自己生成详见【最优算法章节】 3. 代码展开 1) 标准求解【集合检索】 采用集合set进行值检索 性能优良超过88 import CheckFuncPerf as cfpdef hasCycle_base(head):set_checked set() while head: if head in set_checked:return Trueset_checked.add(head) head head.next return Falseresult cfp.getTimeMemoryStr(hasCycle_base, head1) print(result[msg], 执行结果 {}.format(result[result]))# 运行结果 函数 hasCycle_base 的运行时间为 27.01 ms内存使用量为 996.00 KB 执行结果 True2) 改进版一【字典检测】 采用字典dict进行值检索由于字典分配内存远大于集合因此哈希检索的效率要低一些 马马虎虎超过64% import CheckFuncPerf as cfpdef hasCycle_ext1(head):dict_checked {} while head: dict_checked[head] dict_checked.get(head, 0)if dict_checked[head] 1:return Truedict_checked[head] 1head head.next return Falseresult cfp.getTimeMemoryStr(hasCycle_ext1, head1) print(result[msg], 执行结果 {}.format(result[result]))# 运行结果 函数 hasCycle_ext1 的运行时间为 58.00 ms内存使用量为 128.00 KB 执行结果 True3) 改进版二【双指针】 没有很多内存分配的事空间复杂度好的算法时间复杂度也很好 表现优异超越95% import CheckFuncPerf as cfpdef hasCycle_ext2(head):slownode , fastnode head, headwhile fastnode and fastnode.next:slownode slownode.nextfastnode fastnode.next.nextif slownode fastnode:breakif fastnode and fastnode.next:while head ! slownode:head head.nextslownode slownode.nextreturn Trueelse:return Falseresult cfp.getTimeMemoryStr(hasCycle_ext2, head1) print(result[msg], 执行结果 {}.format(result[result]))# 运行结果 函数 hasCycle_ext2 的运行时间为 30.01 ms内存使用量为 0.00 KB 执行结果 True4. 最优算法 根据本地日志分析最优算法为第1种hasCycle_base # 超时测试 nums [x for x in range(200000)] def generateOneLinkedList(data):head ListNode(-100)iPos 0current_node headfor num in data:iPos 1if iPos 190000:CycleNode new_nodenew_node ListNode(num)current_node.next new_nodecurrent_node new_nodenew_node.next CycleNodereturn head.next, new_node head1, tail1 generateOneLinkedList(nums)result cfp.getTimeMemoryStr(hasCycle_base, head1) print(result[msg], 执行结果 {}.format(result[result]))# 算法本地速度实测比较 函数 hasCycle_base 的运行时间为 27.01 ms内存使用量为 996.00 KB 执行结果 True 函数 hasCycle_ext1 的运行时间为 58.00 ms内存使用量为 128.00 KB 执行结果 True 函数 hasCycle_ext2 的运行时间为 30.01 ms内存使用量为 0.00 KB 执行结果 True一日练一日功一日不练十日空 may the odds be ever in your favor ~
http://www.hkea.cn/news/14354069/

相关文章:

  • 门户网站栏目维护建设方案问卷星网站开发市场调查问卷
  • 淘宝做导航网站有哪些提升学历励志语录
  • 济源建设网站的公司临沂网站建设设计
  • 政务网站网上调查怎么做推广网站
  • 音乐网站开发背景免费微信商城小程序
  • 好的平面设计作品网站google网页版
  • 格尔木哪里有做网站的托管网站费用
  • 外综服务平台哪里做网站网页制作的目的和意义
  • 石家庄市网站制作仿站小工具 wordpress
  • 如何做网站二维码python版wordpress
  • wordpress更改站点名称电脑手机网站建设
  • cnc强力磁盘 东莞网站建设创意个人网页设计
  • wap网站 教程高效的宝安网站推广
  • 郑州网站托管助企网站的备案all
  • 做网站设计收入信息系统开发方法
  • 简述建设网站的步骤6做企业网站的人才
  • 开发一个企业网站报价亚马逊中国网站建设目标
  • 网站网站开发者犯法吗为什么有些网站看不到百度快照
  • 策划方案网站平面设计教程视频全集免费
  • 网站知识介绍黄江镇网站建设
  • 网站建设功能列表html精美登录界面源码
  • 网站设计标语做视频网站需要什么服务器配置
  • 长沙seo网站建设WordPress虚拟主机插件
  • asp网站建设中期报告网站建设创客
  • 如何做电子商城网站最好的赣州网站建设
  • 三层架构做网站还是系统如何让百度快照找到自己的网站
  • 行业网站建设公司推荐做任务什么网站
  • 网站维护的协议制作网站问题和解决方法
  • 官方网站建设的目的有哪些做汽配的网站
  • 做美团网这种网站赚钱吗龙岩天宫山电话