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

信息发布的网站怎么做/营业推广策略有哪些

信息发布的网站怎么做,营业推广策略有哪些,黄山旅游攻略四日游钱,网站灰色建设目录 1. 环形链表 II 🌟🌟 2. 反转链表 🌟🌟 3. 子集 II 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1…

目录

1. 环形链表 II  🌟🌟

2. 反转链表  🌟🌟

3. 子集 II  🌟🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. 环形链表 II

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null

为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。

说明:不允许修改给定的链表。

进阶:

  • 你是否可以使用 O(1) 空间解决此题?

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:返回索引为 1 的链表节点
解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0
输出:返回索引为 0 的链表节点
解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:

输入:head = [1], pos = -1
输出:返回 null
解释:链表中没有环。

提示:

  • 链表中节点的数目范围在范围 [0, 10^4] 内
  • -10^5 <= Node.val <= 10^5
  • pos 的值为 -1 或者链表中的一个有效索引

出处:

https://edu.csdn.net/practice/24851274

代码1: 集合元素唯一性

from typing import Listclass ListNode:def __init__(self, x):self.val = xself.next = Noneclass Solution(object):def detectCycle(self, head):s = set()node = headwhile node is not None:if node in s:return nodeelse:s.add(node)node = node.nextreturn Nonedef buildCycle(nums: List[int], pos: int) -> ListNode:if not nums:return None# 创建链表节点nodes = [ListNode(num) for num in nums]# 创建链表for i in range(len(nodes)-1):nodes[i].next = nodes[i+1]# 将链表尾部连接到pos处,形成环形链表if pos != -1:nodes[-1].next = nodes[pos]return nodes[0]def printNode(node: ListNode):if node is None:print("null")else:print(node.val)# %%
s = Solution()
nums = [3,2,0,-4]
head = buildCycle(nums, pos = 1)
printNode(s.detectCycle(head))nums = [1,2]
head = buildCycle(nums, pos = 0)
printNode(s.detectCycle(head))nums = [1]
head = buildCycle(nums, pos = -1)
printNode(s.detectCycle(head))

输出:

2
1
null

代码2: 快慢双指针

from typing import Listclass ListNode:def __init__(self, x):self.val = xself.next = Noneclass Solution:def detectCycle(self, head: ListNode) -> ListNode:slow, fast = head, headwhile fast and fast.next:slow = slow.nextfast = fast.next.nextif slow == fast:fast = headwhile slow != fast:slow = slow.nextfast = fast.nextreturn slowreturn Nonedef buildCycle(nums: List[int], pos: int) -> ListNode:if not nums:return None# 创建链表节点nodes = [ListNode(num) for num in nums]# 创建链表for i in range(len(nodes)-1):nodes[i].next = nodes[i+1]# 将链表尾部连接到pos处,形成环形链表if pos != -1:nodes[-1].next = nodes[pos]return nodes[0]def printNode(node: ListNode):if node is None:print("null")else:print(node.val)# %%
s = Solution()
nums = [3,2,0,-4]
head = buildCycle(nums, pos = 1)
printNode(s.detectCycle(head))nums = [1,2]
head = buildCycle(nums, pos = 0)
printNode(s.detectCycle(head))nums = [1]
head = buildCycle(nums, pos = -1)
printNode(s.detectCycle(head))

2. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

示例 1:

输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

示例 2:

输入:head = [1,2]
输出:[2,1]

示例 3:

输入:head = []
输出:[]

提示:

  • 链表中节点的数目范围是 [0, 5000]
  • -5000 <= Node.val <= 5000

进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?

出处:

https://edu.csdn.net/practice/24851275

代码:

from typing import Listclass ListNode:def __init__(self, x):self.val = xself.next = Noneclass Solution:def reverseList(self, head):""":type head: ListNode:rtype: ListNode"""current = headnextNode = Noneh = headwhile current is not None and current.next is not None:nextNode = current.nextif nextNode.next is not None:tmpNode = current.nextcurrent.next = nextNode.nexttmpNode.next = helse:current.next = NonenextNode.next = hh = nextNodereturn hdef buildList(nums: List[int]) -> ListNode:if not nums:return Nonenodes = [ListNode(num) for num in nums]for i in range(len(nodes)-1):nodes[i].next = nodes[i+1]return nodes[0]def convertList(head: ListNode):ret = []if head == None:returnnode = headwhile node != None:ret.append(node.val)node = node.nextreturn ret# %%
s = Solution()
nums = [1,2,3,4,5]
head = buildList(nums)
print(convertList(s.reverseList(head)))nums = [1,2]
head = buildList(nums)
print(convertList(s.reverseList(head)))nums = []
head = buildList(nums)
print(convertList(s.reverseList(head)))

输出:

[5, 4, 3, 2, 1]
[2, 1]
None

递归法:

```python
class Solution:
    def reverseList(self, head):
        if head is None or head.next is None:
            return head
        newHead = self.reverseList(head.next)
        head.next.next = head
        head.next = None
        return newHead
···


3. 子集 II

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。

示例 1:

输入:nums = [1,2,2]
输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]

示例 2:

输入:nums = [0]
输出:[[],[0]]

提示:

  • 1 <= nums.length <= 10
  • -10 <= nums[i] <= 10

出处:

https://edu.csdn.net/practice/24851276

代码:

class Solution(object):def subsetsWithDup(self, nums):nums.sort()res = [[]]begin = 0for index in range(len(nums)):if index == 0 or nums[index] != nums[index - 1]:begin = 0size = len(res)for j in range(begin, size):curr = list(res[j])curr.append(nums[index])res.append(curr)begin = sizereturn res
# %%
s = Solution()
print(s.subsetsWithDup(nums = [1,2,2]))

输出:

[[], [1], [2], [1, 2], [2, 2], [1, 2, 2]]


🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

🌟 收藏,你的青睐是我努力的方向! 

评论,你的意见是我进步的财富!  

 主页:https://hannyang.blog.csdn.net/

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

http://www.lbrq.cn/news/1034461.html

相关文章:

  • 做网站用微软雅黑侵权吗/视频营销模式有哪些
  • 德令哈网站建设公司/自主建站
  • 网站ppt怎么做/什么是网络营销公司
  • 做宴会有哪些素材网站/郑州互联网公司排名
  • 万网域名指向网站/百度网站客服
  • 杭州市规划建设委员会网站/大概需要多少钱
  • 中国政府网站建设与应用/360网站关键词排名优化
  • 务川县住房和城乡建设局网站/百度云官网首页
  • 网站htm建设/seo实战教程
  • 微店网页版登录入口/seo网站优化工具大全
  • wordpress demo data/汕头自动seo
  • 中国纪检监察网站奶奶做女工/网站优化外包找谁
  • 恶搞网站怎么做/网站怎么收录
  • 新密网站/软文营销的案例
  • 东海县建设局网站/成都seo达人
  • 东营建设信息网站/谷歌seo服务
  • 微信公众号建设公司/安卓优化大师官网下载
  • 全响应式网站用什么做的/搜索引擎营销的主要模式有哪些
  • 吉林省住房和城乡建设厅网站6/外链怎么打开
  • 网站出现风险如何处理/seo双标题软件
  • 做网站怎样做才有百度快照/app开发流程
  • 网页设计旅游网站前言/快速学电脑培训班
  • 网站空间价格/郑州网站建设最便宜
  • 网站推广怎么做引流/市场监督管理局
  • 网站qq启动链接怎么做/南京疫情最新消息
  • 江门市智企互联网站建设/国际重大新闻
  • 池州网站建设哪家好/百度上的广告多少钱一个月
  • 电脑公司网站设计/宁波优化网站排名软件
  • 网站开发 总结报告/掉发脱发严重是什么原因
  • 企业网站建设要求/保定seo博客
  • Linux的进程信号
  • kernel pwn 入门(四) ret2dir详细
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-会议记录
  • 【论文阅读】一种基于经典机器学习的肌电下肢意图检测方法,用于人机交互系统
  • 人机交互:连接人类与数字世界的桥梁
  • 游戏中角色持枪:玩家操控角色,角色转向时枪也要转向