截断句子取前k个单词
句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。
- 例如,
"Hello World"
、"HELLO"
和"hello world hello world"
都是句子。
给你一个句子 s
和一个整数 k
,请你将 s
截断 ,使截断后的句子仅含 前 k
个单词。返回 截断 s
后得到的句子。
示例 1:
输入:s = "Hello how are you Contestant", k = 4 输出:"Hello how are you" 解释: s 中的单词为 ["Hello", "how" "are", "you", "Contestant"] 前 4 个单词为 ["Hello", "how", "are", "you"] 因此,应当返回 "Hello how are you"
示例 2:
输入:s = "What is the solution to this problem", k = 4 输出:"What is the solution" 解释: s 中的单词为 ["What", "is" "the", "solution", "to", "this", "problem"] 前 4 个单词为 ["What", "is", "the", "solution"] 因此,应当返回 "What is the solution"
示例 3:
输入:s = "chopper is not a tanuki", k = 5 输出:"chopper is not a tanuki"
示例代码1:
class Solution:def truncateSentence(self, s: str, k: int) -> str:lst = s.split()return ' '.join(lst[:k])
示例代码2【遍历】:
class Solution:def truncateSentence(self, s: str, k: int) -> str:n, end, count = len(s), 0, 0for i in range(1, n + 1):if i == n or s[i] == ' ':count += 1if count == k:end = ibreakreturn s[:end]
思路与算法:
由题意可知,除了最后一个单词,每个单词后面都跟随一个空格。因此可以通过统计空格与句子结尾的数目来统计单词数 count。当 count=k 时,将当前的下标记录到 end,返回句子 s 在 end 处截断的句子。
复杂度分析:
- 时间复杂度:O(N),其中 NN 为句子 s 的长度。遍历整个字符串需要 O(N)。
- 空间复杂度:O(1)。注意返回值不计入空间复杂度。
截断句子取前k个单词相关推荐
- php有几个单词,PHP-如何选择一个句子的前10个单词?
PHP-如何选择一个句子的前10个单词? 我如何从输出中仅选择前10个字? AAA asked 2020-02-15T07:42:50Z 13个解决方案 126 votes implode(' ', ...
- leetcode 692. 前K个高频单词
题目 给一非空的单词列表,返回前 k 个出现次数最多的单词. 返回的答案应该按单词出现频率由高到低排序.如果不同的单词有相同出现频率,按字母顺序排序. 示例 1: 输入: ["i" ...
- LeetCode简单题之截断句子
题目 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格.每个单词仅由大小写英文字母组成(不含标点符号). 例如,"Hello World"." ...
- 1816. 截断句子
1816. 截断句子 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格.每个单词仅由大小写英文字母组成(不含标点符号). 例如,"Hello World" ...
- LeetCode 1816. 截断句子
文章目录 1. 题目 2. 解题 1. 题目 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格.每个单词仅由大小写英文字母组成(不含标点符号). 例如,"Hell ...
- 【快乐水题】1816. 截断句子
原题: 力扣链接:1816. 截断句子 题目简述: 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格.每个单词仅由大小写英文字母组成(不含标点符号). 例如,"H ...
- 力扣 1816. 截断句子
题目 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格.每个单词仅由大小写英文字母组成(不含标点符号). 例如,"Hello World"." ...
- 算法:前K个最大的元素
前几天,阮一峰 和 winter 在前端九部组织了一个互面小组,目的是为了分享和解答面试遇到的面试题,感兴趣的可以了解一下. 下面我就把我回答的一个问题整理出来分享给大家. 问题描述 题目是:算法,前 ...
- 统计list里面相同元素个数_LeetCode 第 347 号问题:前 K 个高频元素
本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一. 个人网站:https://www.cxyxiaowu.com 今天分享的题目来源于 LeetCode 上第 347 号问题: ...
最新文章
- 解决 Unable to get provider
- yii引入php文件,Yii2框架中CSS、JS文件引入要领_PHP开发框架教程
- HTMLParser-实战
- WordPress环境配置与安装
- 帮管客CRM客户管理系统
- 站长工具箱浏览器插件-SEO分析效率工具插件
- C语言printf控制光标位置和清空屏幕
- 3dmax高版本转低版本插件_Fundebug前端JavaScript插件更新至1.8.0,兼容低版本的Android浏览器...
- [BUG]Git Sever搭建与相关错误处理
- Oracle使用技巧及PL/SQL Developer配置
- 七月算法机器学习3 矩阵分析与应用
- Hadoop配置文件详解
- 怎么把汉字转换成URL编码
- discuz怎么自定义php,Discuz添加自定义数据调用模块
- 百度地图截取指定区域坐标(可伸拉标记点)
- 情人节程序员用HTML网页表白【满天星星音乐背景动画特效】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- 立创eda入门-原理图,PCB制作
- EtherCAT从站调试测试
- 自学Python去接单,一周就能赚取近1200块,你看不起的行业,真的很赚钱!
- 瞬联基于OpenStack的私有云解决方案
热门文章
- “奥利”来啦,腾讯Robotics X实验室跑出的“轮滑小子”
- 仅用 4 小时,吃透“百度太行”背后硬科技!
- 肝了三天,万字长文教你玩转 tcpdump,从此抓包不用愁
- “数学不好,干啥都不行!”资深程序员:别再瞎努力了!
- Python脚本BUG引发学界震动,影响有多大?
- 微众银行AI团队开源联邦学习框架,并发布《联邦学习白皮书1.0》
- 全球超2万名开发者调研:Python 3渗透率至84%
- 华南理工大学院长涉嫌篡改8名研究生成绩,4人已停职
- 倒计时1天,2018中国大数据技术大会报名通道即将关闭(附参会提醒)
- ICCV2017 | 一文详解GAN之父Ian Goodfellow 演讲《生成对抗网络的原理与应用》(附完整PPT)