LeetCode随缘刷题之截断句子
这道题相对比较简单。正好最近学到StringBuilder就用了。
package leetcode.day_12_06;
/**
* 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。
* <p>
* 例如,"Hello World"、"HELLO" 和 "hello world hello world" 都是句子。
* 给你一个句子 s 和一个整数 k,请你将 s 截断 ,使截断后的句子仅含 前 k 个单词。返回 截断 s 后得到的句子。
* <p>
* 示例 1:
* <p>
* 输入: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:
* <p>
* 输入: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:
* <p>
* 输入:s = "chopper is not a tanuki", k = 5
* 输出:"chopper is not a tanuki"
*
* @author soberw
* @Classname TruncateSentence1816
* @Description
* @Date 2021-12-06 10:33
*/
public class TruncateSentence1816 {
/**
* @param s 一个单词列表
* @param k 想要截取的单词个数
* @description: 将 s 截断 ,使截断后的句子仅含 前 k 个单词。
* @return: 返回 截断 s 后得到的句子
* @author: soberw
* @time: 2021/12/6 10:34
*/
public String truncateSentence(String s, int k) {
String[] str = s.split(" ");
StringBuilder sbu = new StringBuilder();
for (int i = 0; i < k; i++) {
sbu.append(str[i]);
sbu.append(" ");
}
return sbu.toString().trim();
}
public static void main(String[] args) {
String s= "What is the solution to this problem";
System.out.println(new TruncateSentence1816().truncateSentence(s,4));
}
}
运行结果:


LeetCode随缘刷题之截断句子的更多相关文章
- LeetCode随缘刷题之最长回文子串
这一题我用的相对比较笨的方法. 相对于大佬们用的动态规划法,比较复杂.但却更容易理解,我主要是通过记录下标来确定最长回文串的. package leetcode.day_12_06; /** * 给你 ...
- Leetcode随缘刷题之寻找两个正序数组的中位数
我一上来没读清题,想着这题这么简单,直接就上手写了: package leetcode.day_12_05; import java.util.ArrayList; import java.util. ...
- LeetCode随缘刷题之Java经典面试题将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成
今天给大家分享一个Java经典的面试题,题目是这样的: 本题是LeetCode题库中的49题. 将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成 举个例子:输入["eat&qu ...
- LeetCode随缘刷题之字符串转换整数
package leetcode.day_01_29; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 请你 ...
- LeetCode随缘刷题之转化成小写字母
这道题应该是最简单的一道题了把,简直在侮辱我. package leetcode.day_12_12; /** * 709. 转换成小写字母 * 给你一个字符串 s ,将该字符串中的大写字母转换成相同 ...
- LeetCode随缘刷题之最短补全词
package leetcode.day_12_10; import org.junit.Test; /** * 给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返 ...
- LeetCode随缘刷题之无重复字符的最长子串
欢迎评论区交流. package leetcode.day_12_04; /** * 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度. * <p> * 示例1: * &l ...
- LeetCode随缘刷题之赎金信
欢迎评论区讨论. package leetcode.day_12_04; /** * 为了不在赎金信中暴露字迹,从杂志上搜索各个需要的字母,组成单词来表达意思. * * 给你一个赎金信 (ransom ...
- LeetCode随缘刷题之两数相加
逐步解释,有说错的地方欢迎指正. package leetcode.day_12_03; /** * 给你两个非空 的链表,表示两个非负的整数.它们每位数字都是按照逆序的方式存储的,并且每个节点只能存 ...
随机推荐
- DGHV同态库
DGHV DGHV全同态方案的实现 这是具有压缩公钥的DGHV的全同态加密方案的实现,参考文章: [1] J.S. Coron, D. Naccache and M. Tibouchi, " ...
- Python+flask+flask-apscheduer实现定时下发任务
Python+flask+flask-apscheduer实现定时下发任务 背景: 使用python+flask+mamaca实现的自动化用例管理平台,可以下发任务到具体的节点,进行执行测试用例,没有 ...
- linux7,一台物理机上使用VM装多个虚拟机,始终只有一个虚拟机网络正常,其他虚拟机报错Error: Connection activation failed: No suitable device found for this connection.
今天在VM新装了一个虚拟机,结果发现原来的虚拟机连不上了,重启网络服务后报错 Error: Connection activation failed: No suitable device found ...
- CentOS 7 使用unzip解压zip文件提示未找到命令的解决方法
故障现象: 解决方法: 如果你使用unzip命令解压.zip文件,提示未找到命令,可能是你没有安装unzip软件,下面是安装方法 [root@localhost www]# yum install - ...
- Jenkins Hackfest 用户体验文档报告
Jenkins 技术文档是我们项目的重要组成部分,因为它是正确使用 Jenkins 的关键.好的文档可以指导用户,并鼓励选择好的实现方式.这是用户体验的关键部分.在最近的 Jenkins UI/UX ...
- ADD software version display
ADD software version display ADD software version display1. Problem Description2. Analysis3. Solutio ...
- 【Java】comparable、comparator
comparable.comparator接口 说明 Java中的对象,正常情况下,只能进行比较:== 或 != .不能使用 > 或 < 的,但是在开发场景中,我们需要对多个对象进行排序, ...
- python极简教程06:生成式和装饰器
测试奇谭,BUG不见. 这一场,主讲python的生成式和装饰器. 目的:掌握四种生成式(列表.生成器.集合.字典),装饰器的原理和使用. 生成式 01 什么是生成式? 能够用一行代码,快速高效的生成 ...
- 局域网内部怎么安全接入U盘?
准备工具: 内部专用U盘一个: 能连接外网的电脑(暂称"安全机")一个. 第一.安全机上安装360杀毒.360安全卫士或其它安全软件.并经常更新病毒库.木马库. 第二.外来U盘先通 ...
- 【记录一个问题】cuda核函数可能存在栈溢出,导致main()函数退出后程序卡死30秒CUDA
调试一个CUDA核函数过程中发现一个奇怪的问题:调用某个核函数,程序耗时33秒,并且主要时间是main()函数结束后的33秒:而注释掉此核函数,程序执行不到1秒. 由此可见,可能是某种栈溢出,导致了程 ...