2021-01-11

两数相加

# Definition for singly-linked list.

# class ListNode:

#     def __init__(self, val=0, next=None):

#         self.val = val

#         self.next = next

class Solution:

    def addTwoNumbers(self, l1:ListNode, l2:ListNode)->ListNode :

        if not l1:

            return l2

        if not l2:

            return l1

        carry = 0

        result = l2

        tail = l2

        while l1 or l2:

            sum  = (l1.val if l1 else 0) + l2.val + carry

            l2.val = sum % 10

            carry = sum // 10

            if l1:

                l1 = l1.next

            if not l2.next:

                tail = l2

                l2.next = l1

                l2 = l1

                l1 = None

            else:

                l2 = l2.next

        if carry:

            tail.next = ListNode(1)

        return result

寻找两个正序数组的中位数

class Solution:

    def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:

        def findKthElement(arr1,arr2,k):

            len1,len2 = len(arr1),len(arr2)

            if len1 > len2:

                return findKthElement(arr2,arr1,k)

            if not arr1:

                return arr2[k-1]

            if k == 1:

                return min(arr1[0],arr2[0])

            i,j = min(k//2,len1)-1,min(k//2,len2)-1

            if arr1[i] > arr2[j]:

                return findKthElement(arr1,arr2[j+1:],k-j-1)

            else:

                return findKthElement(arr1[i+1:],arr2,k-i-1)

        l1,l2 = len(nums1),len(nums2)

        left,right = (l1+l2+1)//2,(l1+l2+2)//2

        return (findKthElement(nums1,nums2,left)+findKthElement(nums1,nums2,right))/2

最长回文子串

class Solution:

    def longestPalindrome(self, s: str) -> str:

         for j in range(len(s), -1, -1):

            for i in range(len(s)-j, -1, -1):

                if (s[i:i+j]) == s[i:i+j][::-1]:

                    return s[i:i+j][::-1]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ● 如何打印二叉树每层的节点? 考察点:二叉树 参考回答: 实现代码: import java.util.Arra...
    le_u阅读 528评论 0 0
  • Question: You are given two non-empty linked lists repres...
    denuth阅读 268评论 0 0
  • http://blog.csdn.net/david21984/article/details/57451917 ...
    紫色冰雨阅读 603评论 0 0
  • 设原始数据规模为n,需要采样的数量为k 先选取数据流中的前k个元素,保存在集合A中; 从第j(k + 1 <= j...
    Impossible安徒生阅读 319评论 0 0
  • Part 1.生产者-消费者问题 这绝对是属于重点了,不管是考察对于该重要模型的理解还是考察代码能力,这都是一道很...
    程序员日常填坑阅读 235评论 0 1