力扣刷题记录——434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干

news2024/11/20 0:22:21
本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干》。

434. 字符串中的单词数

题目描述

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John" 输出: 5 解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。

解题思路

这一题的主要思路还是字符串的切割,split方法,以空格进行切分。首先需要判断是否是空的字符串,如果是直接返回0,如果字符串完全由空格组成,也是直接返回0,最后一种情况,进行字符串的切割,为了防止有连续的空格,所以需要用一个列表去接收非空格的对象,最终返回这个列表的长度,感觉这里有点复杂化了,不过写出来就行。

解题代码

def countSegments(s: str) -> int:
    if s=="":
        return 0
    elif list(set(s))[0] == " ":
        return 0
    target_list = [i for i in s.split(" ")]
    fin_list = []
    for i in target_list:
        if i != "":
            fin_list.append(i)
    # print(fin_list)
    return len(fin_list)

448. 找到所有数组中消失的数字

题目描述

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

示例 1:
输入:nums = [4,3,2,7,8,2,3,1] 输出:[5,6]
示例 2:
输入:nums = [1,1] 输出:[2]

解题思路

这个就是一个for循环遍历呗,从1-n遍历一次,看那个数字不在列表里面,添加到目标列表中,再返回目标列表。

解题过程

def findDisappearedNumbers(nums):
    length = len(nums)
    target_list = []
    for i in range(length+1):
        if i not in nums:
            target_list.append(i)
    return target_list

超出时间限制了,看来得换一个方法。用集合相减,速度应该会快不少。击败了98%,很棒!

def findDisappearedNumbers(nums):
    num_set = set(nums)
    target_set = set([i for i in range(1,len(nums))])
    fin_set = target_set-num_set
    return list(fin_set)

455. 分发饼干

题目描述

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
对每个孩子 i ,都有一个胃口值 g[i] ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 s[j] 。如果 s[j] >= g[i] ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。
示例 1:
输入: g = [1,2,3], s = [1,1] 输出: 1 解释: 你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。 虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。 所以你应该输出1。
示例 2:
输入: g = [1,2], s = [1,2,3] 输出: 2 解释: 你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。 你拥有的饼干数量和尺寸都足以让所有孩子满足。 所以你应该输出2.

解题思路

首先将两个列表排序,从g列表开始遍历,找到s列表中仅大于g中的i的j,将j从s列表中除去,防止重复比较,注意要进行判断是否是空,防止索引报错。找到就break,直到i比s中最大的都要大,那么说明饼干已经满足不了胃口,那么就返回我们的count计数。

解题代码

def findContentChildren(g,s):
    g.sort()
    s.sort()
    count = 0
    if g == [] or s == []:
        return 0
    for i in g:
        if i >max(s):
            break
        else:
            for j in s:
                if j >= i:
                    count +=1
                    s.remove(j)
                    break
            if s==[] or g== []:
                break
    return count

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

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

相关文章

Google colab-思腾云

文章目录Google colab具体操作过程问题1问题2AutoDL问题1 无卡开机思腾云使用基础信息如何租用服务器?如何上传代码以及运行程序?操作服务器的方式?pycharm方式Xshell的形式问题1 libSM.so.6 和 libXrender.so.1问题2:运行代码出现…

Dubbo概述-快速入门

Dubbo概念 ●Dubbo是阿里巴巴公司开源的一个高性能、轻量级的Java RPC框架。 ●致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 ●官网: http://ubbo.apache.orgo 节点角色说明: . ●Provider: 暴露服务的服务提供方 ●Contahier: 服务运行容器 ●Co…

YOLOv3论文精读: An Incremental Improvement-增量式的改进

Abstract 我们对 YOLO 进行了一系列更新!它包含一堆小设计,可以使系统的性能得到更新。我们也训练了一个新的、比较大的神经网络。虽然比上一版更大一些,但是精度也提高了。不用担心,它的速度依然很快。YOLOv3 在 320320 输入图像…

【Django项目开发】部门管理模块的开发(九)

文章目录一、模型类设计二、视图设计1.都有哪些接口三、序列化器类设计四.分页操作1.utils工具中定义pagination.py2.视图类中使用五.路由配置一、模型类设计 一个部门下面可能会有很多子部门,一个子部门上面可能会有父部门;即部门内部之间进行关联&…

Grapecity DataViewsJS JavaScript Crack

Grapecity DataViewsJS一个完整的 React 数据展示和数据网格平台 通过从各种不同的演示视图中进行选择,包括树、卡片、砖石、网格、时间线、甘特图、日历和网格,超越传统的表格显示。采集 by Ω578867473 免费无限开发者许可!只为部署付费 快…

Hexo博客搭建(简化版)

Hexo博客搭建(简化版) 一、环境搭建 1.1 Git Git官网-下载界面 > git --version1.2 Node.js 1.2.1 下载安装Node.js Node.js官网下载界面 > node --version1.2.2 Hexo与Node.js Hexo versionMinimum (Node.js version)Less than (Node.js …

2023年我花费数小时整理的Java常用类文档,建议收藏学习

推荐学习专栏:【Java 编程基础教程系列】,从入门到就业精通,买不了吃亏,买不了上当!! 文章目录1. 基本类型的包装类1.1 概念1.2 常用的属性1.3 常用的方法1.4 自动装箱和自动拆箱2. 字符串类2.1 String 类2…

二分模板:查找数的范围、数的三次方根

内容摘自ACWING&#xff0c;一个很好的算法学习平台。 二分模板 判断左边界 当q[mid]>x时&#xff0c;待查找元素只会在mid左边&#xff0c;令rmid。 while( l < r ) {mid l r >> 1;if(q[mid] > x) r mid;else l mid 1; }判断右边界 当q[mid]<x&…

Spring项目中自动打印执行SQL和耗时,这款神级插件你值得拥有

这里写自定义目录标题参考简介集成方式如何使用步骤一&#xff0c;引入P6Spy。步骤二&#xff0c;修改数据源的配置。步骤三&#xff0c;新建spy.properties文件&#xff0c;放在resources目录下。步骤四&#xff0c;新建一个类实现MessageFormattingStrategy&#xff0c;并重写…

spring cache @Cacheable的使用

Cacheable的使用1.Cacheable1.1 cacheNames value1.2 关联多个缓存名1.3 key 和 keygenerator1.4 CacheManager CacheResolver1.5 sync1.6 condition1.7 unless2.CachePut 放置缓存3.CacheEvict 删除缓存4.测试代码5.默认缓存和redis缓存6.过程中的问题1.Cacheable 注解在方法…

剩余系,欧拉定理,扩展欧拉定理

剩余类&#xff08;同余类&#xff09; 给定一个正整数n&#xff0c;以 r ∈[0, n -1]表示所有形如的整数组成的集合称为模n的剩余类。例n 5,r 3,则C3 5x &#xff0b;3为模5的一个剩余类。 完全剩余系&#xff08;完系&#xff09; 给定一个正整数n&#xff0c;在模n的剩…

kafka生产者API

生产者工作流程 首先生产者调用send方法发送消息后&#xff0c;会先经过拦截器&#xff0c;接着进入序列化器。序列化器主要用于对消息的Key和Value进行序列化。接着进入分区器选择消息的分区。 上面这几步完成之后&#xff0c;消息会进入到一个名为RecordAccumulator的缓冲队…

javaWeb servlet

使用案例&#xff1a; <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> 导了包之…

五指山[《信息学奥赛一本通》](扩展欧几里得算法)

题目如下&#xff1a; 题解 or 思路 我们可以将题目 抽象 成数学模型 xkd≡y(modn)x kd \equiv y\ (mod\ n)xkd≡y (mod n) xkdya∗nx kd y a * nxkdya∗n k∗d−a∗ny−xk*d - a*n y - xk∗d−a∗ny−x 式子 在这里 kkk, aaa 是变量&#xff0c;其余是常数 我们可以扩展…

Java 快速开发几 MB 独立 EXE,写图形界面很方便

Java 写的桌面软件带上运行时只有 6 MB&#xff0c;而且还是独立 EXE 文 件&#xff0c;是不是难以置信&#xff1f; 想一想 Electron 没写多少功能就可能超过百 MB 的体积&#xff0c;Java 写的桌面软件算不算得上小、轻、快呢&#xff1f; aardio 可以支持很多编程语言&…

什么是 智慧行业 App?

智慧行业 是帮助大家将智能设备和边缘网关设备添加到云开发项目的移动端 App。App 提供 iOS 和安卓版本&#xff0c;您可以在对应系统的应用商店下载。 应用场景 智慧行业 能帮助用户将不同网络协议的设备&#xff08;包含边缘网关子设备&#xff09;配置到相关项目中。开发者…

对于TP, TN, FP, FN, Pre, Recall的举例

对于以上参数的概念以及理解&#xff0c;请参考我的文章&#xff1a; 机器学习中TP&#xff0c;TN&#xff0c;FP&#xff0c;FN&#xff0c;Acc&#xff0c;Pre&#xff0c;Sen, Rec的含义_汤宪宇的博客-CSDN博客_机器学习accz 这里我们在将上面概念的定义重新梳理一遍&#…

深入源码剖析 Mybatis 缓存机制

深入源码剖析 Mybatis 缓存机制 Mybatis 为了减轻数据库压力&#xff0c;提高数据库性能。提供了两级缓存机制 一级缓存 sqlSession 级别缓存&#xff0c;缓存的数据只在 sqlSession 内有效&#xff0c;一级缓存默认为我们开起来&#xff0c;不需要我们手动操作&#xff0c;而…

【Dash搭建可视化网站】项目14:美国机场交通数据可视化看板制作步骤详解

美国机场交通数据可视化看板制作步骤详解1 项目效果图2 项目架构3 文件介绍和功能完善3.1 assets文件夹介绍3.2 app.py和index.py文件完善3.3 sider.py文件完善3.4 mapchart.py文件完善3.5 barchart.py文件完善3.6 api.py和api.ipynb文件完善4 样式修改4.1 整体样式修改4.2 sid…

联合证券|A股汽车板块爆发,北向资金半日净买入43亿

今日上午&#xff0c;A股商场震动胶着&#xff0c;轿车、电力设备、通信、机械设备等板块领涨。房地产、美容护理、商贸零售等板块领跌。 北向资金再度成为商场重要亮点之一&#xff0c;半个交易日净买入约43亿元。至此&#xff0c;2023年1月以来&#xff0c;北向资金累计净买入…