- 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 思路:本位是字母,前面是空格(或开头),答案就+1. class Solution { public int countSegments(String s) { int a... 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 思路:本位是字母,前面是空格(或开头),答案就+1. class Solution { public int countSegments(String s) { int a...
- 二分查找 二分查找又叫折半查找,前提条件是待插入的数组必须是有序的, 原理:二分查找的每次都从中间查找,如果比中间小,就去左边,如果比中间大,就去右边。 普通实现 public class BinarySearch { public static void main(String[] args) { //测试一下 int []a= {3,5,7,9,11,15... 二分查找 二分查找又叫折半查找,前提条件是待插入的数组必须是有序的, 原理:二分查找的每次都从中间查找,如果比中间小,就去左边,如果比中间大,就去右边。 普通实现 public class BinarySearch { public static void main(String[] args) { //测试一下 int []a= {3,5,7,9,11,15...
- 请你设计一个日志系统,可以流式接收日志以及它的时间戳。 该日志会被打印出来,需要满足一个条件:当且仅当日志内容 在过去的 10 秒钟内没有被打印过。 给你一条日志的内容和它的时间戳(粒度为秒级),如果这条日志在给定的时间戳应该被打印出来,则返回 true,否则请返回 false。 要注意的是,可能会有多条日志在同一时间被系统接收。 示例:... 请你设计一个日志系统,可以流式接收日志以及它的时间戳。 该日志会被打印出来,需要满足一个条件:当且仅当日志内容 在过去的 10 秒钟内没有被打印过。 给你一条日志的内容和它的时间戳(粒度为秒级),如果这条日志在给定的时间戳应该被打印出来,则返回 true,否则请返回 false。 要注意的是,可能会有多条日志在同一时间被系统接收。 示例:...
- 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 ... 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 ...
- 给你一个正整数的数组 A。 然后计算 S,使其等于数组 A 当中最小的那个元素各个数位上数字之和。 最后,假如 S 所得计算结果是 奇数 的请你返回 0,否则请返回 1。 示例 1: 输入:[34,23,1,24,75,33,54,8] 输出:0 解释: 最小元素为 1,该元素各个数位上的数字之和 S = 1,是奇数所以答案为 0。 示例 2: ... 给你一个正整数的数组 A。 然后计算 S,使其等于数组 A 当中最小的那个元素各个数位上数字之和。 最后,假如 S 所得计算结果是 奇数 的请你返回 0,否则请返回 1。 示例 1: 输入:[34,23,1,24,75,33,54,8] 输出:0 解释: 最小元素为 1,该元素各个数位上的数字之和 S = 1,是奇数所以答案为 0。 示例 2: ...
- 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 示例 2: 输入: 10 输出: 36 解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。 思路:动态规划,等于之前... 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 示例 2: 输入: 10 输出: 36 解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。 思路:动态规划,等于之前...
- 写一个 RecentCounter 类来计算最近的请求。 它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。 返回从 3000 毫秒前到现在的 ping 数。 任何处于 [t - 3000, t] 时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 ping。 保证每次对 ping 的调用都使用比之前更大的 t 值。 ... 写一个 RecentCounter 类来计算最近的请求。 它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。 返回从 3000 毫秒前到现在的 ping 数。 任何处于 [t - 3000, t] 时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 ping。 保证每次对 ping 的调用都使用比之前更大的 t 值。 ...
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ ... 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ ...
- 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 num... 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 num...
- 这里有张 World 表 +-----------------+------------+------------+--------------+---------------+ | name | continent | area ... 这里有张 World 表 +-----------------+------------+------------+--------------+---------------+ | name | continent | area ...
- 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数) 6 是 1 位数字 位数为奇数) 7896 ... 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数) 6 是 1 位数字 位数为奇数) 7896 ...
- 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 给定二叉搜索树: 4 / \ 2 7 &nbs... 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 给定二叉搜索树: 4 / \ 2 7 &nbs...
- 想写一系列文章,总结一些题目,看看解决问题、优化方法的过程到底是什么样子的。 系列问题一:斐波那契数列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)根据定义,前十项为1, 1, 2, 3, 5, 8, 13, 21, 34, 55 问题一: 给定一个正... 想写一系列文章,总结一些题目,看看解决问题、优化方法的过程到底是什么样子的。 系列问题一:斐波那契数列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)根据定义,前十项为1, 1, 2, 3, 5, 8, 13, 21, 34, 55 问题一: 给定一个正...
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:大概这么想:用一个辅助栈把进第一个栈的元素倒一下就好了。 比如进栈1,2,3,4,5 第一个栈: 5 4 3 2 1 然后倒到第二个栈里 1 2 3 4 5 再倒出来,顺序为1,2,3,4,5 实现队列 然后要注意的事情: 1)栈2非空不能往里面倒数... 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:大概这么想:用一个辅助栈把进第一个栈的元素倒一下就好了。 比如进栈1,2,3,4,5 第一个栈: 5 4 3 2 1 然后倒到第二个栈里 1 2 3 4 5 再倒出来,顺序为1,2,3,4,5 实现队列 然后要注意的事情: 1)栈2非空不能往里面倒数...
- 串的概念:串(字符串):是由 0 个或多个字符组成的有限序列。 通常记为:s =‘ a1 a2 a3 … ai …an ’ ( n≥0 )。 串的逻辑结构和线性表极为相似。 一些串的类型: 空串:不含任何字符的串,长度 = 0。 空格串:仅由一个或多个空格组成的串。 子串:由串中任意个连续的字符组成的子序列。 主串:包含... 串的概念:串(字符串):是由 0 个或多个字符组成的有限序列。 通常记为:s =‘ a1 a2 a3 … ai …an ’ ( n≥0 )。 串的逻辑结构和线性表极为相似。 一些串的类型: 空串:不含任何字符的串,长度 = 0。 空格串:仅由一个或多个空格组成的串。 子串:由串中任意个连续的字符组成的子序列。 主串:包含...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签