Python算法练习 9.11

news2024/12/23 15:14:01

leetcode 392 判断子序列

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace""abcde"的一个子序列,而"aec"不是)。

输入:s = "abc", t = "ahbgdc"
输出:true
class Solution(object):
    def isSubsequence(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        sflag = 0
        tflag = 0
        while 1:
            if tflag > len(t) - 1 or sflag > len(s) - 1:
                break
            if s[sflag] == t[tflag]:
                sflag += 1
                tflag += 1
            else:
                tflag += 1
        if sflag == len(s):
            return True
        else:
            return False

 

 leetcode 11 盛水最多的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

 

输入:[1,8,6,2,5,4,8,3,7]
输出:49 
解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

其实就是短的那条线与两条线距离围成的长方形面积

双指针,由数组两端向中间移动

不管移动长板还是短板,宽一定减小,而高度由短板决定

所以移动短板:宽减小,高有可能增大,面积有可能增大

移动长板:宽减小,高一定减小,面积一定减小(下一个板更长,高仍然不变;下一个板更短,高就更短)

所以每次移动短板 

class Solution(object):
    def maxArea(self, height):
        """
        :type height: List[int]
        :rtype: int
        """
        left = 0
        right = len(height) - 1
        maxArea = 0
        while left < right:
            maxArea = max(maxArea, min(height[left], height[right])*(right - left))
            if height[left] > height[right]:
                right -= 1
            else:
                left += 1
        return maxArea

leetcode 75 K和数对的最大数目

给你一个整数数组 nums 和一个整数 k 。

每一步操作中,你需要从数组中选出和为 k 的两个整数,并将它们移出数组。

返回你可以对数组执行的最大操作数。

输入:nums = [1,2,3,4], k = 5
输出:2
解释:开始时 nums = [1,2,3,4]:
- 移出 1 和 4 ,之后 nums = [2,3]
- 移出 2 和 3 ,之后 nums = []
不再有和为 5 的数对,因此最多执行 2 次操作。
class Solution(object):
    def maxOperations(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: int
        """
        numsSort = sorted(nums)
        left = 0
        right = len(nums) - 1
        maxOperations = 0
        while left < right:
            currentSum = numsSort[left]+numsSort[right]
            if currentSum > k:
                right -= 1
            if currentSum < k:
                left += 1
            if currentSum == k:
                maxOperations += 1
                right -= 1
                left += 1
        return maxOperations

 

 时间太久,算了就这样,摆烂了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1000269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

波奇学C++:多态知识点

多态中函数的重写&#xff08;基类指针访问派生类函数&#xff09;&#xff0c;只重写函数的实现&#xff0c;而不重写声明。 class Person { public:virtual void fun(int i 0){cout << "Person"<<" "<<i;} }; class Student:public …

H5页面safari浏览器底部遮挡问题解决方案亲测有效

media screen and (max-width: 767px) { _::-webkit-full-page-media, _:future, :root .safari_only { padding-bottom: 120px; //解决Safari浏览器底部遮挡问题 } } 然后给对应div加上这个类名就可以了

本地录像视频文件如何推送到视频监控平台EasyCVR进行AI视频智能分析?

安防监控平台EasyCVR支持多协议、多类型设备接入&#xff0c;可以实现多现场的前端摄像头等设备统一集中接入与视频汇聚管理&#xff0c;并能进行视频高清监控、录像、云存储与磁盘阵列存储、检索与回放、级联共享等视频功能。视频汇聚平台既具备传统安防监控、视频监控的视频能…

ESP32开发:Clion配置IDF

IDF环境搭建 使用安装包安装IDF 可以通过安装包进行安装&#xff0c;如下图&#xff1a; 下载链接如下&#xff1a;https://dl.espressif.cn/dl/esp-idf/?idf4.4 安装好后&#xff0c;IDF会添加环境变量IDF_TOOLS_PATH&#xff0c;如果要安装多个IDF&#xff0c;为了防止冲…

Java笔记:ThreadLocal

1. ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题&#xff0c;特别是多个线程对一个变量进行写入的时候&#xff0c;为了保证线程安全&#xff0c;一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步…

031:vue子组件向父组件传递多个参数,父组件2种解析方法

第031个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

6个超好用的视频素材网站,4K/8K高质量,免费下载。

很多视频剪辑和做自媒体的朋友都不知道去哪里找视频素材&#xff0c;而且很多网站的素材可以免费下载但是不能商用&#xff0c;还有需要付费购买使用。下面推荐几个良心网站&#xff0c;视频素材免费下载&#xff0c;还能商用&#xff0c;赶紧收藏起来吧。 1、菜鸟图库 https:…

基于Python和mysql开发的在线音乐网站系统(源码+数据库+程序配置说明书+程序使用说明书)

一、项目简介 本项目是一套基于Python和mysql开发的在线音乐网站系统(&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经…

qt 正则表达式

以上是正则表达式的格式说明 以下是自己写的正则表达式 22-25行 是一种设置正则表达式的方式&#xff0c; 29-34行 : 29行 new一个正则表达式的过滤器对象 30行 正则表达式 的过滤格式 这个格式是0-321的任意数字都可以输入 31行 将过滤格式保存到过滤器对象里面 32行 将验…

VSCode搭建Django开发环境

文章目录 一、Django二、搭建步骤1. 安装python和VSCode&#xff0c;安装插件2. VSCode打开项目文件夹3. 终端中键入命令&#xff1a;建立虚拟环境4. 选择Python的解释器路径为虚拟环境5. 在虚拟环境中安装Django6.创建Django项目7. 创建app应用8. 运行应用9. 修改配置中文显示…

JVM 虚拟机 ----> Java 类加载机制

文章目录 JVM 虚拟机 ----> Java 类加载机制一、概述二、类的生命周期1、类加载过程&#xff08;Loading&#xff09;&#xff08;1&#xff09;加载&#xff08;2&#xff09;验证&#xff08;3&#xff09;准备&#xff08;4&#xff09;解析&#xff08;5&#xff09;初始…

纯小白安卓刷机1

文章目录 常见的英文意思刷机是什么&#xff1f;为什么要刷机&#xff1f;什么是BL锁&#xff08;BootLoader锁&#xff09;&#xff1f;我的机能够刷机吗&#xff1f;什么是Boot镜像/分区&#xff1f;什么是Recovery镜像/分区&#xff08;缩写为rec&#xff09;&#xff1f;什…

2023-2024年最值得选的Java毕业设计选题大全:2000个热门选题推荐

一、前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; 毕业设计选题非常重要&a…

【数仓建设系列之五】数仓选型架构概览

【数仓建设系列之五】实时数仓选型架构概览 离线数仓&#xff08;Offline Data Warehouse&#xff09;和实时数仓&#xff08;Real-time Data Warehouse&#xff09;是数仓领域两种常见的数据存储和处理架构&#xff0c;它们在数据处理的方式、目标和时间性上有所不同&#xff…

web端三维重建算法-colmap++

vismap vismap 是colmap 版本 &#xff08;1&#xff09; 支持superpoint superglue &#xff08;2&#xff09; 支持netvlad 图像检索 &#xff08;3&#xff09;支持特征点尺度定权 &#xff08;4&#xff09;支持二维码定位 &#xff08;5&#xff09;支持融合gps &#x…

穿破行业增长迷雾,云鲸J4为何能成为“破题之钥”?

文 | 螳螂观察 作者 | 青月 这几年&#xff0c;消费者对于产品的需求一直在变。 像汽车&#xff0c;过去的消费者可能更看重车的安全性、油耗低等&#xff0c;可如今再看消费者对车的需求&#xff0c;车联网服务、自动辅助驾驶等过去被视为“边缘”的能力&#xff0c;正在变…

虚拟机Ubuntu操作系统最基本终端命令(安装包+详细解释+详细演示)

虚拟机及乌班图&#xff08;Ubuntu操作系统&#xff09; 提示&#xff1a;大家需要软件的可以直接在此链接中提取 链接&#xff1a;https://pan.baidu.com/s/1_4VHGTlXjIuVhBINeOuBCA 提取码&#xff1a;nd0c 文章目录 虚拟机及乌班图&#xff08;Ubuntu操作系统&#xff09;终…

医院不良事件管理系统源码 鱼骨图分析 跌倒事件、压疮事件、坠床事件等系统检测,智能上报

医疗不良事件报告系统源码 医疗不良事件报告系统源码旨在建立全面的、统一的医疗不良事件标准分类系统和患者安全术语&#xff0c;使不良事件上报管理更加标准化和科学化。通过借鉴国内外医疗不良事件报告系统的先进经验&#xff0c;根据医疗不良事件的事件类型、处理事件的不…

Linux高性能服务器编程 学习笔记 第二章 IP协议详解

本章从两方面探讨IP协议&#xff1a; 1.IP头部信息。IP头部出现在每个IP数据报中&#xff0c;用于指定IP通信的源端IP地址、目的端IP地址&#xff0c;指导IP分片和重组&#xff0c;指定部分通信行为。 2.IP数据报的路由和转发。IP数据报的路由和转发发生在除目标机器外的所有主…

【SSH】如何删掉远程服务器中的虚拟环境?如何删掉远程服务器中的用户?如何删掉某个文件夹?

文章目录 一、如何删掉远程服务器中的虚拟环境&#xff1f;二、如何删掉远程服务器中的用户&#xff1f;三、如何删掉某个文件夹&#xff1f; 一、如何删掉远程服务器中的虚拟环境&#xff1f; 在Linux系统下删除conda虚拟环境&#xff1a; # 删除虚拟环境 conda remove -n y…