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

leetcode 41-50(2024.08.19)

立个flag,1-100题每天分配10题,不会就先空着(4,10)。

1. 41:缺失的第一个正数

class Solution:def firstMissingPositive(self, nums: List[int]) -> int:n = len(nums)for i in range(n):if nums[i] <= 0 or nums[i] >= n:nums[i] = nfor i in range(n):if 0 < abs(nums[i]) < n:if nums[nums[i]] > 0:nums[nums[i]] = - nums[nums[i]]for i in range(n):if nums[i] > 0:breakreturn i

2. 42:接雨水

class Solution:def trap(self, height: List[int]) -> int:max_left = 0max_right = 0left = []right = []res = 0for i in range(0, len(height) - 2, 1):if height[i] > max_left:max_left = height[i]left.append(max_left)for i in range(len(height) - 1, 1, -1):if height[i] > max_right:max_right = height[i]right.append(max_right)right = right[::-1]for i in range(1, len(height) - 1):if min(left[i-1], right[i-1]) > height[i]:res = res + min(left[i-1], right[i-1]) - height[i]return res

3. 43:字符串相乘

class Solution:def multiply(self, num1: str, num2: str) -> str:sum = 0leng1 = len(num1)for i in num1:leng2 = len(num2)for j in num2:sum = sum + int(i) * 10 ** (leng1 - 1) * int(j) * 10 ** (leng2 - 1)leng2 = leng2 - 1leng1 = leng1 - 1return str(sum)

4. 44:通配符匹配 

5. 45:跳跃游戏2

class Solution:def jump(self, nums: List[int]) -> int:res = 0distance = 0end = 0for i in range(len(nums) - 1):distance = max(distance, i + nums[i])if i == end:res = res + 1end = distancereturn res

6. 46:全排列

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:def backtracking(nums, path, res):if len(path) == len(nums):res.append(path.copy())returnfor i in nums:if i in path:continuepath.append(i)backtracking(nums, path, res)path.pop()res = []path = []backtracking(nums, path, res)return res

7. 47:全排列2

class Solution:def permuteUnique(self, nums: List[int]) -> List[List[int]]:def backtrack(nums, used, res, path):if len(path) == len(nums):res.append(path.copy())returnfor i in range(len(nums)):if used[i]:continueif i > 0 and nums[i] == nums[i - 1] and not used[i - 1]:continueused[i] = 1path.append(nums[i])backtrack(nums, used, res, path)used[i] = 0path.pop()res = []path = []used = [0] * len(nums)nums.sort()backtrack(nums, used, res, path)return res

8. 48:旋转图像

class Solution:def rotate(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""n = len(matrix)for i in range(n // 2):for j in range((n + 1) // 2):temp = matrix[i][j]matrix[i][j] = matrix[n - 1 - j][i]matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j]matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i]matrix[j][n - 1 - i] = temp

9. 49:字母异位词分组

class Solution:def groupAnagrams(self, strs: List[str]) -> List[List[str]]:res = []haxi = {}for i in strs:sort_i = "".join(sorted(i))if sort_i in haxi:haxi[sort_i].append(i)else:haxi[sort_i] = [i]for key in haxi:res.append(haxi[key])return res

10. 50:Pow(x, n)


http://www.mrgr.cn/news/1097.html

相关文章:

  • Centos系统中创建定时器完成定时任务
  • CDGA|数据治理落地实践指南:构建高效、安全的数据管理体系
  • 小五金加工:细节决定产品质量与性能
  • 验证实战知识点--(1)
  • Unity与UE,哪种游戏引擎适合你?
  • Midjourney中文版教程:参数详解
  • 【多线程开发 6】spring中的注解/API的线程问题
  • ACL访问控制列表
  • 使用 lateral view explode(col1)后行数变少了,bug排查
  • xss之DOM破坏
  • 产线一直在用的 RabbitMQ 搭建教程(含负载均衡配置,验证脚本,监控案例),偷偷抄出来的,建议收藏备用
  • CSS image-set()函数与多倍图设置
  • 【Linux】系列入门摘抄笔记-8-权限管理chmod/chown
  • 初识Linux · 基本指令(2)
  • Shell参考 - Linux Shell 训练营
  • Servlet---axios框架 ▎路由守卫
  • k8s 进阶实战笔记 | Ingress-traefik(一)
  • 虚拟机可以玩Steam游戏吗?虚拟机怎么玩Steam Windows游戏 PD19虚拟机玩Steam
  • 望繁信科技荣膺上海市浦东新区博士后创新实践基地称号
  • Day42 | 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II