摘要:
在很久之前就说要创建一个博客,但总是因为各种原因搁置,今天在一件事的推动下终于实现了。细细想来很多事好像都是如此,一开始的迈步总是艰辛且迟疑的,在一个不经意间受到生活的push,鼓起勇气做了之后才发现原来不过如此。凡事都有定期,天下万物都有定时,有些事总是会做的。 如果你已经看到这了,那就再花几分钟 阅读全文
摘要:
题目:判断二分图 问题描述: 给定一个无向图graph,当这个图为二分图时返回true。 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。 graph将会以邻接表方式给出,graph[i]表示图中与节点i相 阅读全文
摘要:
题目:两两交换链表中的节点-递归解法 问题描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 解决思路: 本题使用递归思想解决的步骤如下: 1、我们首先需要确定递归主体以及递归的终止条件:经过分析,本题的递归主体即是相邻 阅读全文
摘要:
题目:删除链表的倒数第N个节点 问题描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 解决思路: 删除链表的倒数第 n 个节点即是删除链表的顺数第 (size-n+1) 个节点(size为链表的长度),所以我们可以利用快慢指针来解决此问题:先让快指针走 n 步,剩余的即可由 阅读全文
摘要:
题目:目标和 问题描述: 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 解决思路: 直接使用 dfs 进行 阅读全文
摘要:
题目:克隆图 问题描述: 给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。 class Node { public int val; public List<Node> neighbors; 阅读全文
摘要:
题目:最长回文子串 问题描述: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 解决思路: 本题可以采用中心扩展算法:顾名思义,由于回文串具有中心对称的性质,所以我们可以根据字符串中的某一个字符开始分别向左向右扩展,直到找到不相等的字符为止,这样得到的字符串 阅读全文
摘要:
题目:旋转矩阵 问题描述: 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。 不占用额外内存空间能否做到? 解决思路: 先将图像按照下图中的对角线翻转一下: 然后再按照下图中的Y轴翻转一下即可: 解决代码: class Solution 阅读全文
摘要:
题目:每日温度 问题描述: 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。 例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出 阅读全文
摘要:
题目:有效的括号 问题描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 解决思路: 我们可以使用栈来解决这个问题。原因是:在 阅读全文
摘要:
题目:对角线遍历 问题描述: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。 解决思路: 由于题目中给出的数组中的元素全都是正整数并且需要不断计算该数组中子数组的和,所以我们可以利用双指针的滑动窗口 阅读全文