leetcode
没bug就没烦恼
这个作者很懒,什么都没留下…
展开
-
改变一组数的正负符号使其和为给定值
前序在做这题之前,有必要先来看看最简单的0-1背包问题,因为这两道题目有很深的关联,有相似但也有差异。本文先介绍动态规划求解0-1背包,再0-1背包问题问题描述:给定N件物品,它们的重量用数组weights[0…N-1]表示,价值用values[0…N-1]表示,现在给定背包所能承受的重量为W,求背包可装下物品的最大价值是多少?解题思路:这是一道最经典的二维动态规划问题(经过优化也可以降维)。动态规划的题目都需要至少创建一个一维数组来保存中间解,因为这类题目每求一个值需要借助前面步骤的结果,其次也是原创 2020-12-28 14:16:02 · 718 阅读 · 1 评论 -
跳阶梯问题及其进阶版
原问题: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。分析:思路一:问题可以简化为:n每次可以减1或者减2两种方式直到减到0为止,有多少种减法。可以得到一个二叉树:现在问题就转化为数值为0的结点有多少个的问题。思路一实现代码:public int JumpFloor(int target) { //target表示楼梯阶数 if(target==0){ return 0;原创 2020-10-15 14:35:34 · 406 阅读 · 0 评论 -
二叉树路径总和
题目描述Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.Note: A leaf is a node with no children.Exam...原创 2019-10-15 16:39:02 · 398 阅读 · 0 评论 -
递归判断对称二叉树
题目描述Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree [1,2,2,3,4,4,3] is symmetric:1/ \2 2/ \ / \3 4 4 3But the f...原创 2019-10-14 17:04:54 · 161 阅读 · 0 评论