10 2020 档案

摘要:LeetCode 面试题4 二维数组中的查找 问题描述: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 递归 矩阵反对角线 (右上到左下) 上的元素将矩阵中 阅读全文
posted @ 2020-10-31 22:06 CodeSPA 阅读(105) 评论(0) 推荐(0)
摘要:LeetCode 463 岛屿的周长 问题描述: 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 阅读全文
posted @ 2020-10-30 08:58 CodeSPA 阅读(90) 评论(0) 推荐(0)
摘要:LeetCode 129 求根到叶子节点数字之和 问题描述: 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 阅读全文
posted @ 2020-10-29 08:46 CodeSPA 阅读(107) 评论(0) 推荐(0)
摘要:LeetCode 1207 独一无二的出现次数 问题描述: 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 Map+Set 执行用时:2 ms, 在所有 Java 提交中击败了91.43%的用户 内存消耗: 阅读全文
posted @ 2020-10-28 08:50 CodeSPA 阅读(92) 评论(0) 推荐(0)
摘要:LeetCode 144 二叉树的前序遍历 问题描述 给定一个二叉树,返回它的 前序 遍历。 迭代法 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 内存消耗:36.4 MB, 在所有 Java 提交中击败了98.91%的用户 class Solution { public 阅读全文
posted @ 2020-10-27 08:38 CodeSPA 阅读(64) 评论(0) 推荐(0)
摘要:LeetCode 763 划分字母区间 问题描述: 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。 双指针 指针curr指向当前遍历到的字符 指针end指向已遍历过的字符最后出现的位置 使用一个数组统计 阅读全文
posted @ 2020-10-22 09:20 CodeSPA 阅读(81) 评论(0) 推荐(0)
摘要:LeetCode 925 长键按入 问题描述 你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。 双指针 两 阅读全文
posted @ 2020-10-21 08:57 CodeSPA 阅读(91) 评论(0) 推荐(0)
摘要:LeetCode 844 比较含退格的字符串 问题描述 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 注意:如果对空文本输入退格字符,文本继续为空。 重构字符串 执行用时:2 ms, 在所有 Java 提交中击败了74.87% 阅读全文
posted @ 2020-10-19 08:59 CodeSPA 阅读(95) 评论(0) 推荐(0)
摘要:LeetCode 19 删除链表的倒数第N个节点 问题描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 双指针 两指针间刚好间隔N个节点 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 内存消耗:36.3 MB, 在所有 Java 提交中击败了98 阅读全文
posted @ 2020-10-18 10:33 CodeSPA 阅读(70) 评论(0) 推荐(0)
摘要:LeetCode 977 有序数组的平方 问题描述: 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 一次遍历 利用数组原本存在的有序性(复数绝对值递减、非负数递增) 执行用时:2 ms, 在所有 Java 提交中击败了66.81%的用户 内存消耗: 阅读全文
posted @ 2020-10-16 09:13 CodeSPA 阅读(94) 评论(0) 推荐(0)
摘要:LeetCode 24 两两交换链表中的节点 问题描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 三指针 双指针用于控制相邻节点的交换 单指针用于保存上一对交换后节点的尾节点 class Solution { pub 阅读全文
posted @ 2020-10-13 08:53 CodeSPA 阅读(73) 评论(0) 推荐(0)
摘要:LeetCode 416 分割等和子集 问题描述: 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 动态规划(0-1背包问题) 执行用时:21 ms, 在所有 Java 提交中击败了6 阅读全文
posted @ 2020-10-11 10:35 CodeSPA 阅读(119) 评论(0) 推荐(0)
摘要:LeetCode 142 环形链表II 问题描述: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 快慢指针 快指针每次走 阅读全文
posted @ 2020-10-10 09:02 CodeSPA 阅读(98) 评论(0) 推荐(0)
摘要:LeetCode 106 从中序与后序遍历序列构造二叉树 问题描述: 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 执行用时:3 ms, 在所有 Java 提交中击败了72.97%的用户 内存消耗:39.3 MB, 在所有 Java 提交中击败了42.05%的用 阅读全文
posted @ 2020-10-09 13:30 CodeSPA 阅读(100) 评论(0) 推荐(0)
摘要:LeetCode 637 二叉树的层平均值 问题描述: 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 层序遍历BFS 执行用时:3 ms, 在所有 Java 提交中击败了71.11%的用户 内存消耗:40.8 MB, 在所有 Java 提交中击败了20.03%的用户 class Sol 阅读全文
posted @ 2020-10-09 09:39 CodeSPA 阅读(88) 评论(0) 推荐(0)
摘要:LeetCode 117 填充每个节点的下一个右侧节点 问题描述: 给定一个二叉树 struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 阅读全文
posted @ 2020-10-09 09:07 CodeSPA 阅读(91) 评论(0) 推荐(0)
摘要:LeetCode 75 颜色分类 问题描述: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 三指 阅读全文
posted @ 2020-10-07 10:23 CodeSPA 阅读(98) 评论(0) 推荐(0)
摘要:LeetCode 18 四数之和 问题描述: 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复 阅读全文
posted @ 2020-10-05 15:43 CodeSPA 阅读(83) 评论(0) 推荐(0)
摘要:LeetCode 771 宝石与石头 问题描述: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石 阅读全文
posted @ 2020-10-03 15:25 CodeSPA 阅读(99) 评论(0) 推荐(0)
摘要:LeetCode 1 两数之和 问题描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 哈希表: O(N) 使用哈希表记录下数组中值与下标的对应 阅读全文
posted @ 2020-10-03 15:11 CodeSPA 阅读(85) 评论(0) 推荐(0)