摘要: 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。   示例: 输入:"Let& 39;s take LeetCode contest" 输出:"s& 39;teL ekat edoCteeL tsetnoc" & 阅读全文
posted @ 2021-01-07 09:25 付旭洋 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到 阅读全文
posted @ 2021-01-07 09:24 付旭洋 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 阅读全文
posted @ 2021-01-07 09:23 付旭洋 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,   F(1) = 1 F(N) = F(N 1) + F(N 2), 其中 N > 阅读全文
posted @ 2021-01-07 09:22 付旭洋 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, 2 输出: 0.250 阅读全文
posted @ 2021-01-07 09:21 付旭洋 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 给定一个二进制数组, 计算其中最大连续1的个数。 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意: 输入的数组只包含 0 和1。 输入数组的长度是正整数,且不超过 10,000。 C 代码 阅读全文
posted @ 2021-01-07 09:20 付旭洋 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ & 阅读全文
posted @ 2021-01-07 09:19 付旭洋 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。   进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。   阅读全文
posted @ 2021-01-07 09:18 付旭洋 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 示例 1: 输入:root = [1,null,3,2,4,null,5,6] 输出:[[1],[3,2,4],[5,6]] 示例 2: 输入:root 阅读全文
posted @ 2021-01-07 09:17 付旭洋 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。 进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?   示例 1: 输入:nums1 = [1,3], nums2 = [ 阅读全文
posted @ 2021-01-07 09:16 付旭洋 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。   示例 1: 输入:s = "abcd", t = "abcde&qu 阅读全文
posted @ 2021-01-07 09:15 付旭洋 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 给定两个数组,编写一个函数来计算它们的交集。   示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2,2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[4,9]   说明: 输出结 阅读全文
posted @ 2021-01-07 09:14 付旭洋 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [ 阅读全文
posted @ 2021-01-07 09:13 付旭洋 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 给定两个数组,编写一个函数来计算它们的交集。   示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4]   说明: 输出结果中 阅读全文
posted @ 2021-01-07 09:12 付旭洋 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。   示例 1: 输入:[&qu 阅读全文
posted @ 2021-01-07 09:11 付旭洋 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [ 1, 1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1: 输入:nums = [5,7,7 阅读全文
posted @ 2021-01-07 09:10 付旭洋 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。 实现 NumArray 类: NumArray(int[] nums) 使用数组 nums 初始化对象 int sumRange(int i, int j) 返回数组 nums 从索引 i 到 阅读全文
posted @ 2021-01-07 09:09 付旭洋 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以 阅读全文
posted @ 2021-01-07 09:08 付旭洋 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头。 你们轮流进行自己的回合,你作为先手。 每一回合,轮到的人拿掉 1 3 块石头。 拿掉最后一块石头的人就是获胜者。 假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 tru 阅读全文
posted @ 2021-01-07 09:07 付旭洋 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 C 代码 public class Solution { 阅读全文
posted @ 2021-01-07 09:06 付旭洋 阅读(48) 评论(0) 推荐(0) 编辑