倍数leetcode multiple largest

leetcode_打卡08

leetcode_打卡08 题目:334. 递增的三元子序列 思路:分成左边L和右边R,只要找到该数左边比它小的,右边比他大的即可 代码: class Solution { public boolean increasingTriplet(int[] nums) { int n=nums.lengt ......
leetcode

【LeetCode动态规划#09】完全背包问题实战,其二(零钱兑换和完全平方数--求物品放入个数)

零钱兑换 力扣题目链接(opens new window) 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins = [1 ......
零钱 背包 实战 个数 LeetCode

LeetCode/分隔数组以得到最大和

给你一个整数数组 arr,请你将该数组分隔为长度 最多 为 k 的一些(连续)子数组。 分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。 返回将数组分隔变换后能够得到的元素最大和 ###一. 动态规划(正向递推) 分析:数组的最大和是和子数组最大和关联的,对子问题的优化可以带来对整个问 ......
数组 LeetCode

35. 搜索插入位置(leetcode)

https://leetcode.cn/problems/search-insert-position/ 简单二分,这里可以判断return,相当于剪枝 class Solution { public: int searchInsert(vector<int>& nums, int target) ......
leetcode 位置 35

704. 二分查找(leetcode)

https://leetcode.cn/problems/binary-search/ 简单二分 class Solution { public: int search(vector<int>& nums, int target) { int l=0,r=nums.size()-1; while(l ......
leetcode 704

【优先队列】LeetCode 378. 有序矩阵中第 K 小的元素

题目链接 378. 有序矩阵中第 K 小的元素 思路 因为矩阵的每行和每列元素均按升序排序,所以我们可以打破传统思路 代码 class Solution { public int kthSmallest(int[][] matrix, int k) { PriorityQueue<int[]> pr ......
队列 矩阵 LeetCode 元素 378

leetCode 206 反转链表(头插法+ 两种递归)

递归 # 优先处理尾部的链表,此时需要返回子链表的头节点和尾节点 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # sel ......
leetCode 206

【DP】LeetCode 97. 交错字符串

题目链接 97. 交错字符串 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[j] 为 ......
字符串 字符 LeetCode 97

【LeetCode动态规划#08】完全背包问题实战与分析(零钱兑换II)

零钱兑换II 力扣题目链接(opens new window) 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount = 5, coins = [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 5 ......
零钱 背包 实战 LeetCode 动态

【DP】LeetCode 题号.题目

题目链接 377. 组合总和 Ⅳ 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[j] ......
题号 LeetCode 题目

leetcode刷题随笔(2)

42.收集雨水(Trapping Rain Water) 方法一:利用双指针交叉循环求解,时间复杂度O(n) //接雨水 int trap(vector<int>& height) { int i=0,j=height.size()-1; int left_max=0,right_max=0; in ......
leetcode 随笔

LeetCode Top100: 反转链表 (python)

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [ ......
LeetCode python 100 Top

LeetCode Top100: 翻转二叉树(python)

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root = [2,1,3] 输出:[2,3,1] 示例 3: 输入:root = [] 输出:[] 提示: ......
LeetCode python 100 Top

LeetCode Top 100: 二叉树的直径 (python)

给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长度是以它们之 ......
直径 LeetCode python 100 Top

4月18日leetcode二叉树几种遍历方式的非递归和递归

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 二叉树的前序中序和后序遍历算法是学习二叉树必不可少的,若是使用c语言遍历前中后序还是比较繁琐的,因为要考虑遍历结果存放的序列大小问题,想要解决这个问题就得想用递归计算二叉树的节点数量,再调用递归子函数完成递归遍历。 解题思路, ......
leetcode 方式

leetcode_打卡7

leetcode_打卡7 题目:238. 除自身以外数组的乘积 思路: 代码: class Solution { public int[] productExceptSelf(int[] nums) { int n=nums.length; int sum=1,result=1; int j=0; ......
leetcode

LeetCode:Search Algorithm

LeetCode:Search Algorithm 1\First unique char Algorithm Design 利用字符数量的有限性,通过数组来映射(避免Hash_map的高复杂度) 注意数组声明为int A[26]而不是char A[26]; if(s=="") return ' ' ......
Algorithm LeetCode Search

LeetCode Top100: 合并二叉树(python)

给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的 ......
LeetCode python 100 Top

leetcode-206反转链表

反转链表 方法一:迭代法 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListN ......
leetcode 206

leetcode刷题随笔(1)

11.盛水最多的容器 暴力求解超时问题的解决 int maxArea(vector<int>& height) { int max=0; int n=height.size(); int num; int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++) { if(i<j ......
leetcode 随笔

【DP】LeetCode 72. 编辑距离

题目链接 72. 编辑距离 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[j] 为结 ......
LeetCode 72

【DP】LeetCode 139. 单词拆分

题目链接 139. 单词拆分 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[j] 为 ......
单词 LeetCode 139

【LeetCode剑指offer 03】合并两个/K个排序链表

合并两个排序链表 https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1 ......
LeetCode 两个 offer

[AGC061D] Almost Multiplication Table

人类智慧。 答案显然具有可二分性,考虑如何check。 我们使用调整法,不妨设 $x_n<y_m$ (反着做同理),一开始我们令 $x_i=1,y_i=+\infty$。每次我们期望让 $x$ 不断变大,$y$ 不断变小,不断将它们调整到当前的上下界。具体的,每次令 $x_i=\max {x_i, ......
Multiplication Almost Table 061D AGC

Leetcode 1026. 节点与其祖先之间的最大差值

题目: 给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。 (如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B 的祖先) 难度:中等 示例1: 输入 ......
差值 节点 祖先 Leetcode 之间

【前缀和】LeetCode 304. 二维区域和检索 - 矩阵不可变

题目链接 304. 二维区域和检索 - 矩阵不可变 思路 显然,一个矩阵的元素和可以拆分成每一行相加。 那一个矩阵的每一行不就是一个个一维数组,一维数组怎么快速求子数组的和?前缀和! 所以这道题很明显就是对输入矩阵建立一个前缀和矩阵,然后求每一行的前缀和差值便能就得子矩阵的和。 代码 class N ......
前缀 矩阵 LeetCode 区域 304

【LeetCode动态规划#07】01背包问题一维写法(状态压缩)实战,其二(目标和、零一和)

目标和(放满背包的方法有几种) 力扣题目链接(opens new window) 难度:中等 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。 返回可以使最终数组和为目标 ......
写法 背包 实战 LeetCode 状态

LeetCode/子数组中占绝大多数的元素

设计一个数据结构,有效地找到给定子数组的 多数元素 。 子数组的 多数元素 是在子数组中出现 threshold 次数或次数以上(大于半数)的元素 分析 对于子区间进行多次查询,采用线段树的方法 给定的数组,我们可以将它分成任意的两部分,分别使用投票算法得到多数元素和出现的次数 如果该数组存在多数元 ......
数组 LeetCode 元素

leetcode_打卡06

leetcode_打卡06 题目:151. 反转字符串中的单词 思路: 先把字符串根据空格进行分割,分割成一个字符串数组; 对字符串数组进行逆置; 拼接字符串数组; class Solution { public String reverseWords(String s) { // 除去开头和末尾的 ......
leetcode

LeetCode Top100: 二叉树的最大深度 (python)

给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 以下是Python代码实现: cl ......
深度 LeetCode python 100 Top