leetcoder day37| 动态规划part04 背包问题-爱代码爱编程
01背包理论基础 面试掌握01背包,完全背包和重背包就够用了。 背包问题的理论基础重中之重是01背包,一定要理解透! 01 背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 每一件物品其实只有两个状态,取或者
代码编织梦想
01背包理论基础 面试掌握01背包,完全背包和重背包就够用了。 背包问题的理论基础重中之重是01背包,一定要理解透! 01 背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 每一件物品其实只有两个状态,取或者
前言: 我的每日一题专栏正式开始更新,我会分享关于我在LeetCode上刷题时的经验,将经典题型拿出来详细讲解,来提升自己及大家的算法能力,希望这篇博客对大家有帮助。 题目介绍: 题目链接:. - 力扣(LeetCode) 算法原理: 很明显这是一类数组划分的题目,那么这类题目常用解法,可以使用双指针法,注意这里提到的双指针是下标(
491.递增子序列 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例: 输入:[4, 7, 6, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [6, 7], [7,7], [4,7,7]] 说明: 给定数组的长度不会超过15。数组中的整数范围是 [-100,100]。
332.重新安排行程 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。 提示: 如果存在多种有效的行程,请你按字符自然排序返回最小的行程组合。例如,行程 ["JFK"
语言:Java/C++ 654.最大二叉树 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大二叉树,并且输出这个树的根节点。 示例 : 题目
语言:Java/C++ 目录 383. 赎金信 第15题. 三数之和 哈希法 双指针 第18题. 四数之和 今日总结 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n
题目: 513. 找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root = [2,1,3] 输出: 1 示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7
目录 LeetCode 1005. K次取反后最大化的数组和LeetCode 134. 加油站LeetCode 135. 分发糖果 LeetCode 1005. K次取反后最大化的数组和 力扣题目链
目录 LeetCode 860. 柠檬水找零LeetCode 406.根据身高重建队列LeetCode 452. 用最少数量的箭引爆气球 LeetCode 860. 柠檬水找零 力扣题目链接 有如
目录 LeetCode 454.四数相加II解题思路 LeetCode 15. 三数之和解题思路 LeetCode 18.四数之和 文档讲解:代码随想录 四数相加II、代码随想录 三
目录 LeetCode 20. 有效的括号LeetCode 1047. 删除字符串中的所有相邻重复项LeetCode 150. 逆波兰表达式求值 LeetCode 20. 有效的括号 力扣题目链接
链表基础知识: 链表就像一串小火车,有一节一节的车厢,每个车厢都叫做一个节点。 单链表:每个链表车厢里有两个内容,一个放的是真正的数据,另一个放的是下一节车厢的编号。 双链表:每个链表车厢里有三个内容,一个真正数据,一个下一个车厢的编号,还有一个上一节车厢的编号,这个是单链表所没有的。 循环链表:链表小火车的车头和车尾连接起来。
题目: 704. 二分查找 Leetcode原题链接:力扣704.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1:
算法刷题笔记【数组】977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3
LeetCode day02 一.第136题.只出现一次的数字1.题目要求2.方法一:哈希表2.1逻辑思路3.示例代码: 3.方法二:异或运算3.1逻辑思路3.2示例代码: 4.方法三:士兵堡垒
题目:24. 两两交换链表中的节点 Leetcode原题链接:24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:h
2.力扣第733题图像渲染 DFS解法 class Solution { int[] dx = {1,0,0,-1}; int[] dy = {0,1,-1,0}; public int[]
二进制位的原码反码补码转换 以及 按位与&、按位或|、异或^ 一、二进制位的原码、反码、补码转换1.机器数2.原码3.反码4.补码 二、按位与&、按位或|、异或^
题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 输入:strs = ["flower","flow","flight"] 输出:"fl" 输入:strs = ["dog","racecar","car"] 输出: "" 解释:输入不存在公共前缀 提示:
题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 输入:[7,1,5,3,6