代码编织梦想

leetcoder day37| 动态规划part04 背包问题-爱代码爱编程

01背包理论基础 面试掌握01背包,完全背包和重背包就够用了。 背包问题的理论基础重中之重是01背包,一定要理解透! 01 背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 每一件物品其实只有两个状态,取或者

leetcode每日一题之 移动0-爱代码爱编程

前言:   我的每日一题专栏正式开始更新,我会分享关于我在LeetCode上刷题时的经验,将经典题型拿出来详细讲解,来提升自己及大家的算法能力,希望这篇博客对大家有帮助。 题目介绍:  题目链接:. - 力扣(LeetCode) 算法原理:   很明显这是一类数组划分的题目,那么这类题目常用解法,可以使用双指针法,注意这里提到的双指针是下标(

leetcoder day25| 回溯part05:子集+排列-爱代码爱编程

491.递增子序列 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例: 输入:[4, 7, 6, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [6, 7], [7,7], [4,7,7]] 说明: 给定数组的长度不会超过15。数组中的整数范围是 [-100,100]。

leetcoder day26| 回溯part06:总结+三道hard题-爱代码爱编程

332.重新安排行程 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。 提示: 如果存在多种有效的行程,请你按字符自然排序返回最小的行程组合。例如,行程 ["JFK"

leetcoder day17| 二叉树 part06-爱代码爱编程

语言:Java/C++  654.最大二叉树 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大二叉树,并且输出这个树的根节点。 示例 : 题目

leetcoder day6 | 哈希表part02及总结-爱代码爱编程

语言:Java/C++  目录 383. 赎金信 第15题. 三数之和 哈希法 双指针 第18题. 四数之和 今日总结 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n

【leetcode30天带刷】day16二叉树—— 513.找树左下角的值,112. 路径总和 113.路径总和ii, 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构-爱代码爱编程

  题目: 513. 找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root = [2,1,3] 输出: 1 示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7

leetcode算法刷题(python) day36|08贪心算法|1005.k次取反后最大化的数组和、134. 加油站、135. 分发糖果-爱代码爱编程

目录 LeetCode 1005. K次取反后最大化的数组和LeetCode 134. 加油站LeetCode 135. 分发糖果 LeetCode 1005. K次取反后最大化的数组和 力扣题目链

leetcode算法刷题(python) day37|08贪心算法|860. 柠檬水找零、406.根据身高重建队列、452. 用最少数量的箭引爆气球-爱代码爱编程

目录 LeetCode 860. 柠檬水找零LeetCode 406.根据身高重建队列LeetCode 452. 用最少数量的箭引爆气球 LeetCode 860. 柠檬水找零 力扣题目链接 有如

leetcode算法刷题(python) day7|03哈希表|454. 四数相加ii、15. 三数之和、18. 四数之和-爱代码爱编程

目录 LeetCode 454.四数相加II解题思路 LeetCode 15. 三数之和解题思路 LeetCode 18.四数之和 文档讲解:代码随想录 四数相加II、代码随想录 三

leetcode算法刷题(python) day11|05栈与队列|20. 有效的括号、1047. 删除字符串中的所有、150. 逆波兰表达式求值-爱代码爱编程

目录 LeetCode 20. 有效的括号LeetCode 1047. 删除字符串中的所有相邻重复项LeetCode 150. 逆波兰表达式求值 LeetCode 20. 有效的括号 力扣题目链接

【leetcode30天带刷】day03链表——203. 移除链表元素,707.设计链表,206. 反转链表-爱代码爱编程

 链表基础知识: 链表就像一串小火车,有一节一节的车厢,每个车厢都叫做一个节点。  单链表:每个链表车厢里有两个内容,一个放的是真正的数据,另一个放的是下一节车厢的编号。 双链表:每个链表车厢里有三个内容,一个真正数据,一个下一个车厢的编号,还有一个上一节车厢的编号,这个是单链表所没有的。 循环链表:链表小火车的车头和车尾连接起来。

【leetcode30天带刷】day01——704.二分查找、27.移除元素-爱代码爱编程

 题目: 704. 二分查找  Leetcode原题链接:力扣704.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1:

算法刷题笔记【数组】977.有序数组的平方_977.有序数组的平方 scm-爱代码爱编程

算法刷题笔记【数组】977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3

leetcode刷题 day02-爱代码爱编程

LeetCode day02 一.第136题.只出现一次的数字1.题目要求2.方法一:哈希表2.1逻辑思路3.示例代码: 3.方法二:异或运算3.1逻辑思路3.2示例代码: 4.方法三:士兵堡垒

【leetcode30天带刷】day04链表——24. 两两交换链表中的节点, 19.删除链表的倒数第n个节点 ,面试题 02.07. 链表相交-爱代码爱编程

 题目:24. 两两交换链表中的节点 Leetcode原题链接:24. 两两交换链表中的节点  给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:h

17.关于bfs和dfs力扣算法刷题_力扣bfs刷题表-爱代码爱编程

2.力扣第733题图像渲染 DFS解法 class Solution { int[] dx = {1,0,0,-1}; int[] dy = {0,1,-1,0}; public int[]

【位运算】必知必会:二进制位的原码反码补码转换 以及 按位与&、按位或|、异或^_二进制原码反码补码-爱代码爱编程

二进制位的原码反码补码转换 以及 按位与&、按位或|、异或^ 一、二进制位的原码、反码、补码转换1.机器数2.原码3.反码4.补码 二、按位与&、按位或|、异或^

leetcode刷题java——14.最长公共前缀(简单)_"if (str.charat(i) != \"e\") { result += str.char-爱代码爱编程

题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 输入:strs = ["flower","flow","flight"] 输出:"fl" 输入:strs = ["dog","racecar","car"] 输出: "" 解释:输入不存在公共前缀 提示:   

leetcode刷题java——121.买卖股票的最佳时机(简单)-爱代码爱编程

题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 输入:[7,1,5,3,6