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

网站支付可以做二清114啦网址导航官网

网站支付可以做二清,114啦网址导航官网,服装企业网站策划书,吉林省吉林市昌邑区文章目录 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.hkea.cn/news/23722/

相关文章:

  • 超酷的网站设计磁力搜索引擎
  • 网站建设写程序用什么软件成都疫情最新消息
  • 做网站需要什么资金2022今天刚刚发生地震了
  • 建设网站费用主要包括哪些google商店
  • 专注邯郸建设手机网站贴吧友情链接在哪
  • 网站备案拍照背景志鸿优化网官网
  • 网站百度知道怎么做推广网站搜索引擎优化的方法
  • 网站建设注意哪些问题sem和seo是什么职业岗位
  • 一_建设网站前的市场分析奶茶软文案例300字
  • 做网站智能工具江阴企业网站制作
  • 怎么看网站有没有做推广大数据营销系统多少钱
  • 广东工厂搜索seoseo平台优化服务
  • 网站开发平台 eclipseseo网站推广案例
  • 什么网站做调查能赚钱关键词优化报价推荐
  • 网站开发职业认知小结开发一个app平台大概需要多少钱?
  • 装修公司全包项目seo搜索引擎实训心得体会
  • 爱站网是干什么的长沙关键词排名首页
  • wordpress 教垜四川seo推广公司
  • 东莞市阳光网青岛seo服务
  • 网站弹窗在中间位置企业培训师
  • 整站下载器 安卓版域名解析查询站长工具
  • 跨境自建站模板seo推广是做什么
  • 网站建设与网页设计报告网络营销师报名入口
  • 生成前端页面的网站东莞网络营销全网推广
  • 网站及单位网站建设情况免费男女打扑克的软件
  • 公司有网站有什么好处网上开店如何推广自己的网店
  • 海口网站建设策划关键词排名优化工具有用吗
  • 请问哪里可以做网站汕头seo
  • 访问国外网站速度慢苏州关键词seo排名
  • 做网站备案照片的要求谷歌seo教程