摘要: Day7 最大子序和 题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 题目解析: 动态规划,维护一个数表示以 阅读全文
posted @ 2021-01-25 22:56 Lichit 阅读(83) 评论(0) 推荐(0)
摘要: Day6 多数元素 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于$ ⌊ n/2 ⌋$ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。例如: 输入:[3, 2, 3] 输出:3 题目解析,此题目做法较多,可以采用如下做法: 哈希表法,维护一个哈 阅读全文
posted @ 2021-01-23 16:30 Lichit 阅读(96) 评论(0) 推荐(0)
摘要: Day5 翻转二叉树 题目:翻转一棵二叉树,使其左右子树互换,形式如下图片: 4 4 / \ / \ 7 2 -> 2 7 / \ / \ / \ / \ 9 6 3 1 1 3 6 9 题目解析:二叉树的互换,实际上是左右子树元素的互换,由于树的基本性质,可以较为简单的想到采用递归的方式,但左右子 阅读全文
posted @ 2021-01-23 12:29 Lichit 阅读(94) 评论(0) 推荐(0)
摘要: Day 4 相交链表 题目:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表**:** 题目解析:相交链表这题由于链表 A 和链表 B 的长度差原因,必须消除长度差因素。可以采用暴力法,哈希表法,但时间复杂度和空间复杂度都较高,这里推荐一种双指针解法。代码如下: public class 阅读全文
posted @ 2021-01-21 17:22 Lichit 阅读(36) 评论(0) 推荐(0)
摘要: Day3 爬楼梯问题: 题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 题目解析:每次可以爬 1 或 2 个台阶,可以通过动态规划的思想进行解题,具体代码如下: class Solution { public int cli 阅读全文
posted @ 2021-01-17 21:54 Lichit 阅读(95) 评论(0) 推荐(0)
摘要: Day2 三数之和题目: 题目简介:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ,请你找出所有和为 0 且 不重复 的三元组。 题目解析:对于寻找不重复的三元组,首先想到使用 HashSet 结构去除重复的三元组元素, 阅读全文
posted @ 2021-01-17 17:21 Lichit 阅读(77) 评论(0) 推荐(0)
摘要: Day1 有效的括号:给定一个只包括 '(',')','{','}','[',']' 的括号,观察括号是否闭合。如'([])'返回 true class Solution { public boolean isValid(String s) { Stack<Character> stack = ne 阅读全文
posted @ 2021-01-11 20:32 Lichit 阅读(104) 评论(0) 推荐(0)