0110leetcode刷题5道python

1295

题目描述:
给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。

示例:
在这里插入图片描述
解答:

class Solution:
    def findNumbers(self, nums: List[int]) -> int:
        ret=0
        for i in range(len(nums)):
            if len(str(nums[i]))%2==0:
                ret+=1
        return ret

1313

题目描述:
给你一个以行程长度编码压缩的整数列表 nums 。
考虑每对相邻的两个元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。
请你返回解压后的列表。

示例:
在这里插入图片描述
解答:

class Solution:
    def decompressRLElist(self, nums: List[int]) -> List[int]:
        ret=[]
        for i in range(0,len(nums),2):     #步长为2
            for j in range(nums[i]):       #次数
                ret.append(nums[i+1])      #增加的元素值
        return ret

1389

题目描述:
给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:
目标数组 target 最初为空。
按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。
重复上一步,直到在 nums 和 index 中都没有要读取的元素。
请你返回目标数组。
题目保证数字插入位置总是存在。

示例:
在这里插入图片描述
解答:

class Solution:
    def createTargetArray(self, nums: List[int], index: List[int]) -> List[int]:
        target=[]
        for i in range(len(index)):
            target.insert(index[i],nums[i])
        return target

面试题02.03

题目描述:
实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。

示例:
在这里插入图片描述
解答:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def deleteNode(self, node):
        """
        :type node: ListNode
        :rtype: void Do not return anything, modify node in-place instead.
        """
        node.val=node.next.val
        node.next=node.next.next

剑指offer 58-II

题目描述:
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

示例:
在这里插入图片描述
解答:

class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        ret=[]
        for i in range(len(s)):
            ret.insert(i,s[(i+n)%len(s)])
        return ''.join(ret)    #列表转化为字符串输出

猜你喜欢

转载自blog.csdn.net/yeqing1997/article/details/112388276