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相关推荐

  1. 0113leetcode刷题5道python

    35 题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例: 解答: class S ...

  2. 【Python刷题篇】Python从0到入门3|循环、条件复习、元组入门、字典入门

    Python从0到入门3目录 前言 Q1:团队分组 Q2:禁止重复注册 Q3:元组-牛客运动会 Q4:字典-遍历字典 Q5:字典-毕业生就业调查 Q6:姓名与学号 总结 前言 - 本期是Python从 ...

  3. 【Python刷题篇】Python从0到入门4|字典复习、函数入门、综合实践

    Python从0到入门3目录 前言 Q1:字典复习-首都 Q2:函数入门-求差 Q3:函数入门-牛牛的朋友 Q4:综合案例:自动售卖饮料机 Q5:综合案例-被8整除的数字 Q6:综合案例-披萨店的订单 ...

  4. python刷题_11.学习Python,刷题才能让你感受到快(差)乐(距)!

    猜数字游戏可用一个简单的while循环来实现. 其中 随机数 的生成在第4篇介绍过, 键盘输入在上一篇介绍过 import random result = round(random.random()* ...

  5. FPGA数字IC刷题58道Verilog题解代码及视频讲解【FPGA探索者】【同步/异步FIFO】【跨时钟】

    牛客 Verilog 刷题入门篇1~24 + 进阶篇1~34 题解代码,所有代码均能通过测试,配合视频讲解效果更佳.为避免内容冗余,本文只给出代码,部分题目给出必要说明. 很多题目本身出题有些问题,着 ...

  6. leetcode刷题可以用python吗_LeetCode刷题——第四天(python)

    每天选壁纸做封面这个环节是我最喜欢的,今天的题目是比较经典又十分简单的一道题. 第四天--第四题(回文数) 请看题:判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整 ...

  7. python 编程刷题_一起刷题吧 | 100+Python编程题带你快速上手(附答案)

    来源:Python大本营 本文约1000字,建议阅读5分钟. 100+编程练习帮大家轻松学习Python,春节也要抓紧学习哟~ 春节马上就要到了,怎么能让自己在假期里不掉队?今天,给大家准备一个项目: ...

  8. python编程题-100道Python编程题及答案(一)

    题目1:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 1.程序分析:见下面注释 2.程序源 for n in range( ...

  9. python面试经典题_16道Python经典面试题及答案

    随着Python在企业中的应用越来越多,岗位需求越来越大,面试成为了搞定优质职位的快速方式,下面是笔者面试10余家企业总结的面试题,希望对Python从业者有帮助. 1.Python是如何进行内存管理 ...

  10. Leecode 刷题归纳(Python——LeetCode 精选 TOP 面试题)

    一.数组 1.简单 1)位1的个数 2)只出现一次的数字 3)杨辉三角 4)Excel表列序号 Python 中字符转ASCII码用ord(),比如ord("A"). 5)颠倒二进 ...

最新文章

  1. php捕获Fatal error错误与异常处理
  2. VC访问数据库学习总结
  3. IP通信基础 实验三
  4. GChemPaint-绘制化学分子布局
  5. Shell脚本编程之(六)循环
  6. Windows 8 页面应用测试(2)
  7. Windows登录密码轻松破解
  8. 深度学习视觉目标跟踪算法毕业论文【matlab】
  9. 小程序30分钟倒计时
  10. 揭秘!女程序员为啥更赚钱?这4个大招,用Python做副业躺赚
  11. 红旗 linux 8,中科红旗Asianux Server Linux 8有何突出之处,附新功能介绍
  12. 好记性不如烂笔头(2)
  13. 「Leetcode592」分数加减法
  14. 交叉编译ncurses5.9
  15. python循环3次停止_Python 基础 — 循环
  16. CRM项目之stark组件之列表页面功能补充4
  17. 互动媒体技术——基于p5.js创作一幅自画像
  18. 解决idea控制台出现乱码问题
  19. 米9 android 系统耗电,小米9耗电严重,官方给出合理解释,大家怎么看
  20. cpu_freq之切换governor.

热门文章

  1. java 12306 源码_java Web SpringMVC项目实现12306余票查询功能
  2. 牛客网--14405--齐齐录成绩
  3. oracle if else嵌套,else能嵌入if吗
  4. Win10应用商店终于恢复访问了
  5. #linux# gcc编译优化-O0 -O1 -O2 -O3 -OS说明
  6. 30个银行的logo
  7. 网页去广告服务器,使用 AdGuardHome,实现网页加速和去广告
  8. 【Uplift】模拟数据篇
  9. steamcommunity 本地 443端口被占用解决方案
  10. MATLAB图中图绘制(局部放大图)