![](https://img-blog.csdnimg.cn/2020031018344921.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
算法相关文章
BatmanWayne
看的越多,越不敢写代码。
展开
-
硬币兑换
1,原文地址https://leetcode-cn.com/problems/coin-change/2,题目给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出...原创 2020-06-24 14:49:05 · 358 阅读 · 0 评论 -
二叉树层次遍历
1,原文地址https://leetcode-cn.com/problems/binary-tree-level-order-traversal/2,题目给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]来源:力扣(L...原创 2020-06-09 23:11:03 · 146 阅读 · 0 评论 -
电话号码的字母组合
1,原文地址https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/2,题目给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你..原创 2020-05-25 22:13:20 · 173 阅读 · 0 评论 -
求Pow(x,n)
1,原文https://leetcode-cn.com/problems/powx-n/2,题目实现pow(x, n),即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输出: 9.26100示例3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 <x< 100.0n是 32...原创 2020-05-18 23:56:57 · 705 阅读 · 0 评论 -
验证二叉搜索树
1,原文https://leetcode-cn.com/problems/validate-binary-search-tree/2,题目给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。3,源码解法一class Solution { public boolean isValidBST(TreeNode root) {原创 2020-05-17 18:42:35 · 167 阅读 · 0 评论 -
括号生成
1,原文https://leetcode-cn.com/problems/generate-parentheses/2,题目数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]通过次数126,603提交次数167,996来源...原创 2020-05-17 15:04:01 · 202 阅读 · 0 评论 -
二叉树遍历
1,原文https://leetcode-cn.com/problems/binary-tree-inorder-traversal/2,题目给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?3,解法解法一:递归class Solution { public List<Integer> ino...原创 2020-05-10 17:30:20 · 148 阅读 · 0 评论 -
字母异位词分组
1,网址https://leetcode-cn.com/problems/group-anagrams/2,题目给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","ta...原创 2020-04-30 00:20:36 · 163 阅读 · 0 评论 -
有效的字母异位词
1,原文地址https://leetcode-cn.com/problems/valid-anagram/solution/you-xiao-de-zi-mu-yi-wei-ci-by-leetcode/2,题目给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: tr...原创 2020-04-28 00:41:48 · 143 阅读 · 0 评论 -
柱状图中最大的矩形
1,原文地址https://leetcode-cn.com/problems/largest-rectangle-in-histogram/2,题目给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为[2,1,5,6,2,3]。...原创 2020-04-25 13:46:58 · 157 阅读 · 0 评论 -
最小栈
1,原文https://leetcode-cn.com/problems/min-stack/2,题目设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop()—— 删除栈顶的元素。top()—— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:MinStack min...原创 2020-04-17 23:28:12 · 174 阅读 · 0 评论 -
反转链表--迭代和递归
1,leetcode网址https://leetcode-cn.com/problems/reverse-linked-list/2,题目反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL3,源码:class Solution { p...原创 2020-04-11 21:18:27 · 151 阅读 · 0 评论 -
三数之和---左右指针中间移动
1,leetcode原文https://leetcode-cn.com/problems/3sum/2,题目给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -...原创 2020-04-09 23:37:53 · 138 阅读 · 0 评论 -
爬台阶---算法汇总
1,leetcode网址https://leetcode-cn.com/problems/climbing-stairs/submissions/2,题目假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1....原创 2020-04-07 22:57:57 · 919 阅读 · 0 评论 -
最多装水---双向指针往中间移动
1,leetCode题目地址https://leetcode-cn.com/problems/container-with-most-water/2,题目给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可...原创 2020-04-07 22:15:27 · 147 阅读 · 0 评论 -
移动零
1,leetCode题目地址https://leetcode-cn.com/problems/move-zeroes/2,题目说明//给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。//// 示例: //// 输入: [0,1,0,3,12]//输出: [1,3,12,0,0] //// 说明: //// // 必须在...原创 2020-04-06 22:45:18 · 369 阅读 · 0 评论 -
动态数组的创建与维护
说是动态数组,其实就是在满容量时,再创建创建一个一定容量的数组(实例代码中是原数组容量的一倍),并将对数组的引用指向新的数组。而当数组容量比较小时,则创建一个一定容量的数组(示例代码中是原数组容量的1/4),并将对数组的引用指向新的数组。示例代码如下:import java.util.Iterator;import java.util.List;public class Fix...原创 2018-11-17 22:02:27 · 535 阅读 · 0 评论 -
二分法查找的java和python实现
二分法的核心思想为对于一个有序的数组,1,如果目标值大于数组中间那个值,那么,其索引一定出现数组的后半部分;2,如果目标值小于数组中间那个值,那么,其索引一定出现在数组的前半部分。以此类推,直到找到那个值为止。Java实现:import java.util.Arrays;public class BinarySearch { public static in...原创 2018-10-23 23:02:03 · 141 阅读 · 0 评论