首页 > 编程语言 >算法-练习2

算法-练习2

时间:2023-03-14 16:44:06浏览次数:51  
标签:子串 练习 算法 num l2 str l1 nums1

题1

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807.

 

def sums(l1, l2):
if l1 != [0] and l2 != [0]:
l1_str = [str(i) for i in l1]
l2_str = [str(i) for i in l2]
str1 = ''.join(l1_str)
str2 = ''.join(l2_str)
sum = int(str1) + int(str2)
return [int(i) for i in str(sum)][::-1]
else:
return [0]


# a = [0]
# a = [2, 4, 3]
a = [9, 9, 9, 9, 9, 9, 9]

# b = [0]
# b = [5, 6, 4]
b = [9, 9, 9, 9]

print(sums(a, b))

"""
执行结果:
[8, 9, 9, 9, 0, 0, 0, 1]
"""

题2

   给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

 

示例 1:

输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:

输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:

输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
  请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串

def le(s):
dic = {}
i, nums = -1, 0
for j in range(len(s)):
if s[j] in dic:
i = max(dic[s[j]], i)

ans = max(nums, j-i)
dic[s[j]] = j
return nums


s = 'pwwkew'
print(le(s))


题3
寻找两个正序数组的中位数
def func(nums1, nums2):
nums1.extend(nums2)
nums1.sort()
num = len(nums1)
if num % 2 == 0:
i = int((num / 2) - 1)
k = i + 1
middle_num = (nums1[i] + nums1[k]) / 2
else:
j = int((num + 1) / 2)
middle_num = nums1[j-1]

return middle_num
 


标签:子串,练习,算法,num,l2,str,l1,nums1
From: https://www.cnblogs.com/zxy01/p/17211986.html

相关文章

  • MySQL 考试练习题
    1、用户表account1、用户表account(用户编号userid,用户名fullname,密码passward,性别sex,住址adderss,邮箱email,电话phone)account(useridchar(6),fullnamechar(4),passwar......
  • 笔试算法《字符串排序_1》
    题目描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。如,输入:Type输出:epTy规则2:同一个英文字母的大小写同时存在时,......
  • [思维提升|干货All in]6种算法解决LeetCode困难题:滑动窗口最大值
    为了更好的阅读体验,欢迎阅读原文:[思维提升|干货Allin]6种算法解决LeetCode困难题:滑动窗口最大值(eriktse.com)最近在leetcode遇到一道非常经典的题目:239.滑动窗口最......
  • Tarjan算法详解
    Tarjan算法介绍TarjanTarjan算法是用于在有向图中求强连通分量的算法这里给出强连通分量的定义:有向图中一个最大的图,使这个图中每个两点都能够互相到达。这个最大的图称......
  • 决策树算法
    fromsklearnimporttreefromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitimportnumpyasnpif__name__=="__main__":......
  • k近邻算法
    如果一个样本在特征空间中的k个最“相似”(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别相似度:即两个点的距离来衡量距离越近越近相似度......
  • SM2算法功能简述(一) 数字签名生成流程
    SM2数字签名算法由一个签名者对数据产生数字签名,并由一个验证者验证签名的可靠性。每个签名者有一个公钥和一个私钥,其中私钥用于产生签名,验证者用签名者的公钥验证签名。在......
  • TCP常见的拥塞控制算法
    TCP常见的拥塞控制算法有四种,即慢启动(slow-start)、拥塞避免(congestion-avoidance)、快重传(fastretransmit)、快恢复(fastrecovery)。它们的目的是根据网络的拥塞程度动态调整......
  • 网络社群发现算法挖掘bilibili视频流量数据可视化|附代码数据
    原文链接:https://tecdat.cn/?p=19006最近我们被客户要求撰写关于bilibili视频流量数据的研究报告,包括一些图形和统计输出。最新研究表明,中国有超过7亿人在观看在线视频内......
  • 【LeetCode回溯算法#11】解数独,这次是真的用回溯法处理二维数组
    解数独力扣题目链接(opensnewwindow)编写一个程序,通过填充空格来解决数独问题。一个数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。数字1-9在每一列只......