0210leetcode刷题5道python
88
题目描述;
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。
示例:
解答:
class Solution:def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:"""Do not return anything, modify nums1 in-place instead."""'''nums1[m:]=nums2[:]nums1.sort()'''i,j,k=m-1,n-1,m+n-1while i>=0 and j>=0:if nums1[i]<nums2[j]:nums1[k]=nums2[j]k-=1j-=1else:nums1[k]=nums1[i]k-=1i-=1if j>=0:while j>=0:nums1[k]=nums2[j]k-=1j-=1
1423
题目描述:
几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。
每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。
你的点数就是你拿到手中的所有卡牌的点数之和。
给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。
示例:
解答:
class Solution:def maxScore(self, cardPoints: List[int], k: int) -> int:#既然左右两边都可以取,那就直接看左边取n个,右边取k-n个res = 0total = [0]flag = 0for i in cardPoints: # 先记录累加和flag += itotal.append(flag)for i in range(0,k+1): # i是左边分配的位置flag = total[i]+total[-1]-total[-1-k+i]res = max(flag,res)return res
剑指offer34
题目描述:
输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。
示例:
解答:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = Noneclass Solution:def pathSum(self, root: TreeNode, sum: int) -> List[List[int]]:res, path = [], []def recur(root, tar):if not root: returnpath.append(root.val)tar -= root.valif tar == 0 and not root.left and not root.right:res.append(list(path))recur(root.left, tar)recur(root.right, tar)path.pop()recur(root, sum)return res
剑指offer56-I
题目描述:
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是 O(n),空间复杂度是O(1)。
示例:
解答:
class Solution:def singleNumbers(self, nums: List[int]) -> List[int]:ret, index = 0, 0for n in nums:ret ^= n# 找从右向左数第几位不同,也就是第index位while ret & 1 == 0:index += 1ret >>= 1r1, r2 = 0, 0for n in nums:if (n >> index) & 1 == 0:r1 ^= nelse:r2 ^= nreturn [r1, r2]
剑指offer68-II
题目描述:
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”
例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]
示例:
解答:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = Noneclass Solution:def lowestCommonAncestor(self, root: TreeNode, p: TreeNode, q: TreeNode) -> TreeNode:# 求出到两个节点的路径,然后遍历数组,不相等的前一个为解if root == None:return Noneif root==p or root == q:return rootleft = self.lowestCommonAncestor(root.left,p,q) # 左右子树寻找p,qright = self.lowestCommonAncestor(root.right,p,q)if left and right: # 都找到了,一边一个return rootif not left: # 左子树没有,即都在右子树 return rightif not right:return left
0210leetcode刷题5道python相关推荐
- 0113leetcode刷题5道python
35 题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例: 解答: class S ...
- 【Python刷题篇】Python从0到入门3|循环、条件复习、元组入门、字典入门
Python从0到入门3目录 前言 Q1:团队分组 Q2:禁止重复注册 Q3:元组-牛客运动会 Q4:字典-遍历字典 Q5:字典-毕业生就业调查 Q6:姓名与学号 总结 前言 - 本期是Python从 ...
- 【Python刷题篇】Python从0到入门4|字典复习、函数入门、综合实践
Python从0到入门3目录 前言 Q1:字典复习-首都 Q2:函数入门-求差 Q3:函数入门-牛牛的朋友 Q4:综合案例:自动售卖饮料机 Q5:综合案例-被8整除的数字 Q6:综合案例-披萨店的订单 ...
- python刷题_11.学习Python,刷题才能让你感受到快(差)乐(距)!
猜数字游戏可用一个简单的while循环来实现. 其中 随机数 的生成在第4篇介绍过, 键盘输入在上一篇介绍过 import random result = round(random.random()* ...
- FPGA数字IC刷题58道Verilog题解代码及视频讲解【FPGA探索者】【同步/异步FIFO】【跨时钟】
牛客 Verilog 刷题入门篇1~24 + 进阶篇1~34 题解代码,所有代码均能通过测试,配合视频讲解效果更佳.为避免内容冗余,本文只给出代码,部分题目给出必要说明. 很多题目本身出题有些问题,着 ...
- leetcode刷题可以用python吗_LeetCode刷题——第四天(python)
每天选壁纸做封面这个环节是我最喜欢的,今天的题目是比较经典又十分简单的一道题. 第四天--第四题(回文数) 请看题:判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整 ...
- python 编程刷题_一起刷题吧 | 100+Python编程题带你快速上手(附答案)
来源:Python大本营 本文约1000字,建议阅读5分钟. 100+编程练习帮大家轻松学习Python,春节也要抓紧学习哟~ 春节马上就要到了,怎么能让自己在假期里不掉队?今天,给大家准备一个项目: ...
- python编程题-100道Python编程题及答案(一)
题目1:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 1.程序分析:见下面注释 2.程序源 for n in range( ...
- python面试经典题_16道Python经典面试题及答案
随着Python在企业中的应用越来越多,岗位需求越来越大,面试成为了搞定优质职位的快速方式,下面是笔者面试10余家企业总结的面试题,希望对Python从业者有帮助. 1.Python是如何进行内存管理 ...
- Leecode 刷题归纳(Python——LeetCode 精选 TOP 面试题)
一.数组 1.简单 1)位1的个数 2)只出现一次的数字 3)杨辉三角 4)Excel表列序号 Python 中字符转ASCII码用ord(),比如ord("A"). 5)颠倒二进 ...
最新文章
- php捕获Fatal error错误与异常处理
- VC访问数据库学习总结
- IP通信基础 实验三
- GChemPaint-绘制化学分子布局
- Shell脚本编程之(六)循环
- Windows 8 页面应用测试(2)
- Windows登录密码轻松破解
- 深度学习视觉目标跟踪算法毕业论文【matlab】
- 小程序30分钟倒计时
- 揭秘!女程序员为啥更赚钱?这4个大招,用Python做副业躺赚
- 红旗 linux 8,中科红旗Asianux Server Linux 8有何突出之处,附新功能介绍
- 好记性不如烂笔头(2)
- 「Leetcode592」分数加减法
- 交叉编译ncurses5.9
- python循环3次停止_Python 基础 — 循环
- CRM项目之stark组件之列表页面功能补充4
- 互动媒体技术——基于p5.js创作一幅自画像
- 解决idea控制台出现乱码问题
- 米9 android 系统耗电,小米9耗电严重,官方给出合理解释,大家怎么看
- cpu_freq之切换governor.