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

建设网站所采用的技术方案郑州网络公司

建设网站所采用的技术方案,郑州网络公司,客户评价 网站,黑龙江电商网站建设文章目录 Remove Zero Sum Consecutive Nodes from Linked List 从链表中删去总和值为零的连续节点问题描述:分析代码 Remove Zero Sum Consecutive Nodes from Linked List 从链表中删去总和值为零的连续节点 问题描述: 给你一个链表的头节点 head&am…

文章目录

  • Remove Zero Sum Consecutive Nodes from Linked List 从链表中删去总和值为零的连续节点
    • 问题描述:
    • 分析
    • 代码

Remove Zero Sum Consecutive Nodes from Linked List 从链表中删去总和值为零的连续节点

问题描述:

给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。

删除完毕后,请你返回最终结果链表的头节点。

节点数量 范围[1,1000],节点值范围[-1000,1000]

分析

这个问题要求把链表中和为0的连续节点删除,很明显是一个前缀和处理,而且数据规模不大,暴力处理也可以。
首先使用一个dummy,方便处理,使用map记录每个节点的前缀和,map[前缀和,节点].
在遍历链表的过程中,首先计算该节点的前缀和sum,如果sum之前出现过,说明遇到了一段需要删除的区间,删除处理。此时map需要清空,然后从头,再进行遍历循环,直到遍历到结尾。
整体的思路就是暴力模拟,时间复杂度还是比较高的,这里是尝试记录待删除区域的开始节点,然后遍历找到区间的结尾,进行处理,缺点就是一旦进行删除,map中记录的开始节点,可能就失效,要么使用额外的时间删除,要么从新计算。

另一种思路也是记录,但是这里是记录前缀和最后出现的节点。这样第一次遍历时完成map记录。
第二次遍历,一旦发现出现了前缀和,就可以找到这个区域,进行删除。因为删除的区间和是0,所以不影响前缀和记录,同样也不会影响map中记录的前缀和节点。

代码

public ListNode removeZeroSumSublists(ListNode head) {Map<Integer,ListNode> map = new HashMap();ListNode vh = new ListNode(0);vh.next = head;ListNode p = vh,pre =null;int sum = 0; while(p!=null){sum += p.val;if(map.containsKey(sum)){pre = map.get(sum);pre.next = p.next;map.clear();p = vh;sum =0;}else{map.put(sum,p);p = p.next;}}return vh.next; }

时间复杂度 O(N?)

空间复杂度: O(N)

public ListNode removeZeroSumSublists(ListNode head) {Map<Integer,ListNode> map = new HashMap();ListNode vh = new ListNode(0);vh.next = head;ListNode p = head;int sum = 0;while(p!=null){sum += p.val;map.put(sum,p);p=p.next;}p = vh;sum = 0;while(p!=null){sum += p.val;if(map.containsKey(sum)){ListNode q = map.get(sum);p.next = q.next; }p = p.next;} return vh.next; }

时间复杂度 O(N)

空间复杂度: O(N)

Tag

Hash linkedlist

http://www.mnyf.cn/news/49007.html

相关文章:

  • 余姚做轴承网站嘉兴网站建设
  • 网站建设阶段性工作重点关键词优化网站排名
  • 怎么做付款链接网站舆情优化公司
  • 跨境电商网站建设方案广东今天新闻最新消息
  • 修机械师怎么做我小样网站角仰望关键词爱站网
  • 网站建设更新不及时 整改报告公司的网站制作
  • 深圳网站建设计seo优化推广
  • 个人做淘宝客网站不能备案吗如何在百度上打广告
  • 团购网站html模板微信广告推广如何收费
  • 营销型网站建设空间必须是长沙网站seo优化
  • 虚拟币交易网站建设做排名优化
  • 专业做网站建设公司怎么样外包网络推广公司
  • 网站推广广告词河南靠谱seo电话
  • 邹城网站建设v556无锡网站优化公司
  • 广告去哪个网站做吴江seo网站优化软件
  • 学做日本料理菜的视频网站阿里云搜索
  • 武汉市东湖高新建设局网站百度seo优化
  • socks5免费代理地址安徽网站关键词优化
  • 怎么做网站底部文件关键词自助优化
  • 网站建设的域名百度助手免费下载
  • 建设银行住房贷款网站百度推广方案怎么写
  • 这么做国外网站的国内镜像站百度网盘app官网下载
  • 宝安建网站免费seo网站诊断
  • 开发公司哪个部门工作好360手机优化大师安卓版
  • 能自己做网站接业务吗seo点击排名器
  • 做网站公司法人还要拍照吗目前搜索引擎排名
  • 手机网站建站流程公关
  • 个人做网站的流程长尾关键词挖掘词
  • 做二手网站有哪些正规电商培训班
  • 临朐做网站的广东东莞大益队