首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

34期:最后一个单词长度(高频)

58题:最后一个单词长度 给定一个仅包含大小写字母和空格 ' ' 字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。...02、题解分析 因为我们要获取最后一个单词长度,不难想到可以从尾开始遍历。 题中陷阱在于,结尾处仍然可能有空格。...所以一般解题思路为,先去掉末尾空格,然后从尾向前开始遍历,直到遇到第一个空格处结束。 但这里可以取一个巧,我们可以通过一个 count 来记数,从第一个不为空格数开始记起。...,然后直接定位到最后一个单词位置,将其截取下来获取长度。...既然我们 trim 都用了,那为什么我们不直接使用 split 得到最后一个单词长度呢?

38320

选择最后一个元素及nth-child和nth-of-type区别

CSS3 :last-child 选择器 指定属于其父元素最后一个子元素 p 元素背景色 p:last-child { background:#ff0000; } CSS3 :nth-last-child...() 选择器 规定属于其父元素第二子元素每个 p 元素,从最后一个子元素开始计数: p:nth-last-child(2) { background:#ff0000; } p:last-child...等同于 p:nth-last-child(1) CSS3 :nth-last-of-type() 选择器 规定属于其父元素第二 p 元素每个 p,从最后一个子元素开始计数: p:nth-last-of-type...(2) { background:#ff0000; } 对于:nth-child选择器,在简单白话文中,意味着选择一个元素: 这是段落元素 这是父标签第二孩子元素 对于:nth-of-type选择器...,意味着选择一个元素: 选择父标签第二段落子元素 例子: p:nth-child(2)悲剧了,其渲染结果不是第二p标签文字变红,而是第一个p标签,也就是父标签第二子元素。

3K10
您找到你想要的搜索结果了吗?
是的
没有找到

一个常见ms sql server中取N条记录方法

正文 好像也是一个不难问题,刚视频里看到,就记一下吧。 下面是表中原始数据结构,做了一个倒叙排序: select * from Employee order by Salary desc ?...首先来看一下如何取Salary第二记录。...Salary desc ) as result order by Salary asc 原理是先根据Salary降序排序获取到前3条记录,作为Result一个结果集 ?...下面再来看一下使用ROW_NUMBER(顺道试验了Rank,Dense_Rank这两函数)这个函数写法: --获取salary排行第三的人信息 select * from ( select * ,...注意一下B和Csalary是一样,但是得到3number值是不同,项目中看具体情况,选择需要函数。 我们这里取RowNumber. ? 结果也是一样。 就到这里吧。

80220

2022-10-30:给你一个长度为 n 整数数组 rolls 和一个整数 k 。 你扔一个 k 面的骰子 n 次,骰子每个面分别是 1 到 k , 其中

2022-10-30:给你一个长度为 n 整数数组 rolls 和一个整数 k 。...你扔一个 k 面的骰子 n 次,骰子每个面分别是 1 到 k , 其中 i 次扔得到数字是 rollsi 。 请你返回 无法 从 rolls 中得到 最短 骰子子序列长度。...扔一个 k 面的骰子 len 次得到一个长度为 len 骰子子序列 。 注意 ,子序列只需要保持在原数组中顺序,不需要连续。...这次java运行速度最高,比rust都强了不少。c++表现不好,不见运行速度低,而且内存占用大。rust内存占用最小,go语言次之。 时间复杂度:O(n+k)。 空间复杂度:O(k)。

29810

2022-04-27:Alice 有一个下标从 0 开始数组 arr ,由 n 正整数组成。她会选择一个任意 正整数 k

2022-04-27:Alice 有一个下标从 0 开始数组 arr ,由 n 正整数组成。...她会选择一个任意 正整数 k 并按下述方式创建两下标从 0 开始新整数数组 lower 和 higher : 对每个满足 0 <= i < n 下标 i ,lower[i] = arr[i] -...给你一个由 2n 整数组成整数数组 nums ,其中 恰好 n 整数出现在 lower ,剩下出现在 higher ,还原并返回 原数组 arr 。...大数1数需要循环。 时间复杂度:O(N**2)。 代码用rust编写。代码如下: fn main() { let mut nums: Vec = vec!...= nums.len() as isize; // nums[0] -> 小数组0 let m = n >> 1; // 谁是大数组0

41830

2024-05-04:用go语言,给定一个起始索引为0字符串s和一个整数k。 要进行分割操作,直到字符串s为空: 选择s最长

2024-05-04:用go语言,给定一个起始索引为0字符串s和一个整数k。 要进行分割操作,直到字符串s为空: 选择s最长前缀,该前缀最多包含k不同字符; 删除该前缀,递增分割计数。...如果有剩余字符,它们保持原来顺序。 在操作之前,可以修改字符串s中一个字符为另一个小写英文字母。 在最佳情况下修改至多一次字符后,返回操作结束时得到最大分割数量。...大体步骤如下: 1.创建一个递归函数dfs,用于计算分割得到最大数量。 2.函数中,首先检查是否到达字符串末尾,若是则返回 1(表示完成一个分割)。 3.使用memo记录中间结果,加快计算速度。...,这个子串最后一个字母在 i-1 // s[i] 作为下一段一个字母,也就是 bit 作为下一段 mask 初始值 res = dfs(i+1,...,这个子串最后一个字母在 i-1 // j 作为下一段一个字母,也就是 1<<j 作为下一段 mask 初始值

13320

2022-04-18:things是一个N*3二维数组,商品有N件,商品编号从1~N, 比如things = , 代表3号商品:

2022-04-18:things是一个N*3二维数组,商品有N件,商品编号从1~N, 比如things3 = 300, 2, 6, 代表3号商品:价格300,重要度2,它是6号商品附属商品, 再比如...things6 = 500, 3, 0, 代表6号商品:价格500,重要度3,它不是任何附属,它是主商品, 每件商品收益是价格*重要度,花费就是价格, 如果一个商品是附属品,那么只有它附属主商品购买了...,它才能被购买, 任何一个附属商品,只会有1主商品, 任何一个主商品附属商品数量,不会超过2件, 主商品和附属商品层级最多有2层。...给定二维数组things、钱数money,返回整体花费不超过money情况下,最大收益总和。 答案2022-04-18: 本来想用rust写,但老是编译不通过,实在没辙。...n } func maxScore(things [][][]int, n, money int) int { dp := make([][]int, n) for i := 0; i < n;

23320

2022-12-22:给定一个数字n,代表数组长度,给定一个数字m,代表数组每个位置都可以在1~m之间选择数字,所有长度为n

2022-12-22:给定一个数字n,代表数组长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n数组中,最长递增子序列长度为3数组,叫做达标数组。...返回达标数组数量。 1 <= n <= 500, 1 <= m <= 10, 500 * 10 * 10 * 10, 结果对998244353取模, 实现时候没有取模逻辑,因为非重点。...// f、s、t : ends数组中放置数字!...// n : 一共长度! // m : 每一位,都可以在1~m中随意选择数字 // 返回值:i..... 有几个合法数组!...// 尤其是理解ends数组意义! fn number2(n: i32, m: i32) -> i32 { //repeat(vec!

87450

2023-03-18:给定一个长度n数组,每次可以选择一个数x, 让这个数组中所有的x都变成x+1,问你最少操作次数, 使得这个数组变成一个非降数组。 n

2023-03-18:给定一个长度n数组,每次可以选择一个数x, 让这个数组中所有的x都变成x+1,问你最少操作次数, 使得这个数组变成一个非降数组。...如此递归下去,直到最终得到一个非降序列。 由于每个数字都只有两种状态(是否进行操作),因此总时间复杂度为O(2^n * n)。当n比较小时候,这种方法是可行,但是当n比较大时候,它会超时。...定义一个长度为n数组min,其中mini表示arri..n-1中最小值。 定义一个长度为m布尔型数组add,其中m是数组中最大值。初始化时全部为false。...具体实现过程如下: 定义一个空栈stack和一个长度为n整型数组res,其中resi表示对于位置i,需要进行最小操作次数。...最后,我们来介绍第四种方法:利用差分数组。我们可以将每个数字看作一个区间,区间左右端点就是该数字在数组中出现位置。

55200

2023-05-17:一个正整数如果能被 a 或 b 整除,那么它是神奇。 给定三整数 n , a , b ,返回 n 神奇数字。 因为答案可能很大,

2023-05-17:一个正整数如果能被 a 或 b 整除,那么它是神奇。给定三整数 n , a , b ,返回 n 神奇数字。...2.初始化变量 l 为0,变量 r 为 (n * min(a, b)),其中 min(a, b) 表示 a 和 b 中最小值。在这个范围内通过二分查找获得 n 神奇数字。...4.如果出现神奇数字总数大于或等于 n,则将当前猜测值存储在变量 ans 中,并将右边界向左移动一位(即缩小区间范围)。...5.如果出现神奇数字总数小于 n,则将左边界向右移动一位(即扩大区间范围),并继续迭代。6.二分查找过程结束后,返回答案 ans % (10^9 + 7)。...在这个算法中,使用了二分查找来搜索 n 神奇数字。在最坏情况下,二分查找迭代次数为 O(logN)。因此,时间复杂度为 O(logN)。

32500

Scrapy实战5:Xpath实战训练

XPath基于XML树状结构,提供在数据结构树中找寻节点能力。起初XPath提出初衷是将其作 为一个通用、介于XPointer与XSL间语法模型。...项目子项---jobbole (1)打开项目,在项目根目录下新建一个main.py,用于调试代码。...页面分析在FireFox浏览器下按F12进入开发者模式,选择查看器左边选取图标功能,然后将鼠标移动到标题处,在查看器中会自动为我们找到源码中标题位置,如上图分析,标题应该在html下body中一个...div中第三div中一个div中一个div中h1标签中,那么Xpath路径即为: /html/body/div[]/div[]/div[]/div[]/h1 是不是感觉到很复杂,哈哈哈,...:Xpath表达方式不止一种,可能某个内容Xpath有两种或者更多,大家觉得怎么好理解就使用哪一个

73220

2023-04-14:n对情侣坐在连续排列 2n 座位上,想要牵到对方手, 人和座位由一个整数数组 row 表示,其中 row 是坐在 i 座位

2023-04-14:n对情侣坐在连续排列 2n 座位上,想要牵到对方手,人和座位由一个整数数组 row 表示,其中 rowi 是坐在 i 座位上的人ID,情侣们按顺序编号,第一对是 (0,...1),第二对是 (2, 3),以此类推,最后一对是 (2n-2, 2n-1)。...返回 最少交换座位次数,以便每对情侣可以并肩坐在一起。每次交换可选择任意两人,让他们站起来交换座位。输入: row = 0,2,1,3。输出: 1。输入: row = 3,2,0,1。输出: 0。...实现计算最少交换座位次数函数 min_swaps_couples,首先获取座位数量 n,然后初始化并查集 uf,遍历相邻座位,将情侣所在连通分量合并。最后返回需要交换座位最小次数。...= fj { // 如果i和j不在同一个连通分量中 if self.size[fi as usize] >= self.size[fj as usize] {

26810

2022-07-29:一共有n个人,从左到右排列,依次编号0~n-1, h是i个人身高, v是i个人分数, 要求从左到右选出一个子序列,在这

2022-07-29:一共有n个人,从左到右排列,依次编号0~n-1, hi是i个人身高, vi是i个人分数, 要求从左到右选出一个子序列,在这个子序列中的人,从左到右身高是不下降。...返回所有符合要求子序列中,分数最大累加和是多大。 n <= 105次方, 1 <= hi <= 109次方, 1 <= vi <= 109次方。 来自字节。...let mut h = random_array(n, vv); let mut v = random_array(n, vv); if right(&mut h, &mut...("测试结束"); } // 为了测试 // 绝对正确暴力方法 fn right(h: &mut Vec, v: &mut Vec) -> i32 { return process...rank0 = h.clone(); rank0.sort(); let mut st = SegmentTree::new(n); for i in 0..n {

22630
领券