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

icp备案需要先建设网站么品牌营销策略有哪些方法

icp备案需要先建设网站么,品牌营销策略有哪些方法,wordpress4.7.5中文版,信息流广告代运营公司目录 1. 排序链表 ★★ 2. 最长连续序列 ★★ 3. 扰乱字符串 ★★★ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 排序链表 给你链表的头结点 head ,请将其按 升序 …

目录

1. 排序链表  ★★

2. 最长连续序列  ★★

3. 扰乱字符串  ★★★

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. 排序链表

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。

进阶:

  • 你可以在 O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?

示例 1:

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

示例 2:

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

示例 3:

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

提示:

  • 链表中节点的数目在范围 [0, 5 * 10^4] 内
  • -10^5 <= Node.val <= 10^5

代码:

class ListNode:def __init__(self, x):self.val = xself.next = Noneclass Solution:def sortList(self, head: ListNode) -> ListNode:if head == None:return Noneelse:return self.mergeSort(head)def mergeSort(self, head):if head.next == None:return headfast = headslow = headpre = Nonewhile fast != None and fast.next != None:pre = slowslow = slow.nextfast = fast.next.nextpre.next = Noneleft = self.mergeSort(head)right = self.mergeSort(slow)return self.merge(left, right)def merge(self, left, right):tempHead = ListNode(0)cur = tempHeadwhile left != None and right != None:if left.val <= right.val:cur.next = leftcur = cur.nextleft = left.nextelse:cur.next = rightcur = cur.nextright = right.nextif left != None:cur.next = leftif right != None:cur.next = rightreturn tempHead.nextclass LinkList:def __init__(self):self.head = Nonedef initList(self, data):if not data: return Noneself.head = ListNode(data[0])p = head = self.headfor i in data[1:]:node = ListNode(i)p.next = nodep = p.nextreturn headdef showList(self, head):if head:print(head.val, end = '->')self.showList(head.next)else:print('null')if __name__ == '__main__':s = Solution()l = LinkList()head = l.initList([4,2,1,3])l.showList(head)head = s.sortList(head)l.showList(head)head = l.initList([-1,5,3,4,0])l.showList(head)head = s.sortList(head)l.showList(head)

输出:

4->2->1->3->null
1->2->3->4->null
-1->5->3->4->0->null
-1->0->3->4->5->null


2. 最长连续序列

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例 1:

输入:nums = [100,4,200,1,3,2]
输出:4
解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

示例 2:

输入:nums = [0,3,7,2,5,8,4,6,0,1]
输出:9

提示:

  • 0 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9

代码:

class ListNode:def __init__(self, x):self.val = xself.next = Noneclass Solution:def longestConsecutive(self, nums: list) -> int:hash_dict = {}max_length = 0for num in nums:if num not in hash_dict:pre_length = hash_dict.get(num - 1, 0)next_length = hash_dict.get(num + 1, 0)cur_length = pre_length + 1 + next_lengthif cur_length > max_length:max_length = cur_lengthhash_dict[num] = cur_lengthhash_dict[num - pre_length] = cur_lengthhash_dict[num + next_length] = cur_lengthreturn max_lengthif __name__ == '__main__':s = Solution()nums = [100,4,200,1,3,2]print(s.longestConsecutive(nums))nums = [0,3,7,2,5,8,4,6,0,1]print(s.longestConsecutive(nums))

输出:

4
9


3. 扰乱字符串

使用下面描述的算法可以扰乱字符串 s 得到字符串 t :

  1. 如果字符串的长度为 1 ,算法停止
  2. 如果字符串的长度 > 1 ,执行下述步骤:
    • 在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y 。
    • 随机 决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」。即,在执行这一步骤之后,s 可能是 s = x + y 或者 s = y + x 。
    • 在 x 和 y 这两个子字符串上继续从步骤 1 开始递归执行此算法。

给你两个 长度相等 的字符串 s1 和 s2,判断 s2 是否是 s1 的扰乱字符串。如果是,返回 true ;否则,返回 false 。

示例 1:

输入:s1 = "great", s2 = "rgeat"
输出:true
解释:s1 上可能发生的一种情形是:
"great" --> "gr/eat" // 在一个随机下标处分割得到两个子字符串
"gr/eat" --> "gr/eat" // 随机决定:「保持这两个子字符串的顺序不变」
"gr/eat" --> "g/r / e/at" // 在子字符串上递归执行此算法。两个子字符串分别在随机下标处进行一轮分割
"g/r / e/at" --> "r/g / e/at" // 随机决定:第一组「交换两个子字符串」,第二组「保持这两个子字符串的顺序不变」
"r/g / e/at" --> "r/g / e/ a/t" // 继续递归执行此算法,将 "at" 分割得到 "a/t"
"r/g / e/ a/t" --> "r/g / e/ a/t" // 随机决定:「保持这两个子字符串的顺序不变」
算法终止,结果字符串和 s2 相同,都是 "rgeat"
这是一种能够扰乱 s1 得到 s2 的情形,可以认为 s2 是 s1 的扰乱字符串,返回 true

示例 2:

输入:s1 = "abcde", s2 = "caebd"
输出:false

示例 3:

输入:s1 = "a", s2 = "a"
输出:true

提示:

  • s1.length == s2.length
  • 1 <= s1.length <= 30
  • s1 和 s2 由小写英文字母组成

代码:

class Solution(object):def isScramble(self, s1, s2, memo={}):if len(s1) != len(s2) or sorted(s1) != sorted(s2):return Falseif len(s1) <= len(s2) <= 1:return s1 == s2if s1 == s2:return Trueif (s1, s2) in memo:return memo[s1, s2]n = len(s1)for i in range(1, n):a = self.isScramble(s1[:i], s2[:i], memo) and self.isScramble(s1[i:], s2[i:], memo)if not a:b = self.isScramble(s1[:i], s2[-i:], memo) and self.isScramble(s1[i:], s2[:-i], memo)if a or b:memo[s1, s2] = Truereturn Truememo[s1, s2] = Falsereturn False# %%
s = Solution()
print(s.isScramble(s1 = "great", s2 = "rgeat"))
print(s.isScramble(s1 = "abcde", s2 = "caebd"))
print(s.isScramble(s1 = "a", s2 = "a"))

输出:

True
False
True


🌟 每日一练刷题专栏 🌟

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

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

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

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

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

相关文章:

  • 沧州网路运营中心百度seo排名点击器
  • 下列关于网站开发中网友上传一呼百应推广平台
  • 乐清网站制作公司seo优化 搜 盈seo公司
  • 武汉建站费用五年级上册语文优化设计答案
  • 百度怎么发布网站网络优化公司哪家好
  • 赛扬e3300做网站关键词优化公司网站
  • 网站建设kaodezhu网页游戏
  • 网站建设的原因收录
  • wordpress 绑定手机百度关键词怎么优化
  • 做社群的网站有哪些拓客最有效方案
  • 自适应网站的图做多大 怎么切杭州seo招聘
  • 怎么做幼儿园网站整站优化 mail
  • 东莞手机app开发长沙seo外包优化
  • 做谷歌推广的网站如何引流友链查询站长工具
  • 网站流量如何增加竞价出价怎么出
  • 网站做好怎么开始做推广互联网营销师报名费
  • python做网站设计seo推广服务
  • 织梦网站排版能调整吗清博舆情系统
  • 现在手机网站用什么做的站长工具国色天香
  • 免费网站app源码百度网站优化工具
  • 霞浦县建设局网站湖南正规seo公司
  • 网站的种类有哪些嘉兴网站建设方案优化
  • 软环境建设办公室网站黄冈网站推广软件有哪些
  • 国内房地产设计网站建设网站客服
  • 日照住房和城乡建设厅网站nba最新比赛直播
  • 相亲网站建设关键怎么联系地推公司
  • 石家庄网站制作报价黄页引流推广网站入口
  • wordpress首页文章设置seo站长论坛
  • 小众写作网站百度推广运营
  • 中国建设银行官网站纪念币预约友情链接交换的意义是什么