之和 随想录 随想day7

约数之和

约数之和 plus 0x01 背景题目 0. 定理 算术基本定理(正整数唯一分解定律): 不考虑排列顺序的情况下,每个正整数都能够以唯一的方式表示成它的质因数的乘积。 $x={p_1}^{k_1} * {p_2}^{k_2} *{p_3}^{k_3}.....{p_n}^{k_n}$ 人话:对于每个 ......
约数 之和

算法随想Day53【单调栈】| LC84-柱状图中最大的矩形

int largestRectangleArea(vector& heights) { int result = 0; stack st; heights.insert(heights.begin(), 0); heights.push_back(0); st.push(0); for (int i ......
矩形 随想 算法 Day 53

算法随想Day52【单调栈】| LC503-下一个更大元素Ⅱ、LC42-接雨水

LC503. 下一个更大元素Ⅱ 对于“每日温度”,相当于对nums数组,进行了两次遍历。用i % size所得余数作为下标,且循环的圈数为size * 2 vector<int> nextGreaterElements(vector<int>& nums) { int size = nums.siz ......
随想 算法 雨水 元素 LC

算法随想Day51【单调栈】| LC739-每日温度、LC496-下一个更大元素Ⅰ

LC739. 每日温度 vector<int> dailyTemperatures(vector<int>& temperatures) { int size = temperatures.size(); vector<int> result(size, 0); vector<int> sta; s ......
随想 算法 元素 温度 LC

代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和

110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 一个显然但似乎不太高效的方法是: 通过递归获取左右子树高度,判断差; 然后递归判断左右结点; 那么一个显然的改进就是后序遍历 /** * Definition for ......
随想录 之和 随想 路径 Leetcode

代码随想录day 32● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6 ......
随想录 随想 时机 代码 股票

代码随想录day 31 455.分发饼干 | 376. 摆动序列 | 53. 最大子序和

455.分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 ......
随想录 序列 饼干 随想 代码

1-两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 来源:力扣(LeetCode) 链接:ht ......
之和

代码随想录Day16-Leetcode104. 二叉树的最大深度,111.二叉树的最小深度 ,222.完全二叉树的节点个数

104. 二叉树的最大深度 首先是层序遍历 /** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val undefined ? 0 : val) * this.l ......
深度 随想录 节点 随想 个数

代码随想录day 30 332.重新安排行程 | n皇后 | 37. 解数独

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

代码随想录Day15-Leetcode102. 二叉树的层序遍历,226.翻转二叉树,101. 对称二叉树

102. 二叉树的层序遍历 题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/ bfs,队列,记录下本层的数量和下一层的数量 /** * Definition for a binary tree node. * f ......
随想录 随想 Leetcode 代码 Day

代码随想录day 28 491. 递增子序列 | * 46.全排列 | 47.全排列 II

给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例: 输入: [4, 6, 7, 7] 输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]] 说明: 给 ......
随想录 序列 随想 代码 day

洛谷P1009 阶乘之和

捏妈第三节的题单名不是循环结构吗,直接出了第八节的高精度大数计算,紧急学习 对于较大数的加减乘除阶乘等,C/C++原生的数据类型是存储不了的(即便用longlong),直接计算会出现数据移除成负数的结果 为了解决这类超大数的运算,我们选择用字符数组或者整型数组来进行模拟运算。 所谓模拟运算也就是把大 ......
阶乘 之和 P1009 1009

代码随想录Day14-Leetcode144. 二叉树的前序遍历,94.二叉树的中序遍历,145.二叉树的后序遍历

递归遍历 前序遍历:根左右 一路俯冲,然后回头 /** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val undefined ? 0 : val) * this ......
随想录 随想 Leetcode 代码 Day

Python基础 day7 数据类型(集合、字典、浮点型float)

day7 数据类型(集合、字典、浮点型float) 课程概要: set集合,一个不允许重复重复 & 可变类型(元素可哈希)。 dict字典,一个容器且元素必须是键值对。 float类型,我们生活中常见的小数。 一 集合 set 1.1 定义 集合是一个 无序 、可变、不允许数据重复的容器。 v1 = ......
浮点 字典 类型 基础 数据

代码随想录day 28 93.复原IP地址 | 78.子集 | 90.子集II

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011 ......
子集 随想录 随想 代码 地址

基于遗传算法的微电网运行优化的MATLAB代码,目标函数为运行成本之和最小

基于遗传算法的微电网运行优化的MATLAB代码,目标函数为运行成本之和最小,注释详细。YID:8420650601884388 ......
之和 电网 算法 函数 成本

代码随想录算法训练营Day55 动态规划

#代码随想录算法训练营 代码随想录算法训练营Day55 动态规划| 392.判断子序列 115.不同的子序 392.判断子序列 题目链接:392.判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置 ......
随想录 训练营 随想 算法 代码

代码随想录 day27 39. 组合总和 | 40.组合总和II | 131.分割回文串

39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制 ......
总和 随想录 回文 随想 代码

代码随想录Day11-Leetcode20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

20. 有效的括号 写过很多遍了,但还是不能秒a /** * @param {string} s * @return {boolean} */ var isValid = function(s) { let stack = [] let obj = {'(':')', '[':']', '{':'} ......
随想录 括号 表达式 字符串 随想

代码随想录Day13-Leetcode239. 滑动窗口最大值,347.前 K 个高频元素,栈和队列总结

239. 滑动窗口最大值 一开始没有思路,暴力了,然后果然超时; 看提示中的单调队列没有特别明白;后面反应过来跟单调栈很像; 也确实很符合本题的情况,一旦队尾出现更大的数,前面更小的数就不需要了, 他们不会成为最大数被弹出后的备选。 值得注意的是本题数次出现区间错误,一开始我的操作居然是删除q[l] ......
随想录 最大值 队列 随想 Leetcode

代码随想录--二叉树

二叉树 二叉树--二叉树的递归遍历 题目: 144.二叉树的前序遍历(opens new window) 145.二叉树的后序遍历(opens new window) 94.二叉树的中序遍历 题解: 前序遍历 class Solution { public List<Integer> preorde ......
随想录 随想 代码

【LeetCode动态规划#05】背包问题的理论分析(基于代码随想录的个人理解,多图)

背包问题 问题描述 背包问题是一系列问题的统称,具体包括:01背包、完全背包、多重背包、分组背包等(仅需掌握前两种,后面的为竞赛级题目) 下面来研究01背包 实际上即使是最经典的01背包,也不会直接出现在题目中,一般是融入到其他的题目背景中再考察 因为是学习原理,所以先跳过最原始的问题模板来学。 0 ......
随想录 随想 背包 LeetCode 理论

代码随想录算法训练营Day53 动态规划

#代码随想录算法训练营 代码随想录算法训练营Day53 动态规划|● 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 动态规划 1143.最长公共子序列 题目链接:1143.最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个 ......
随想录 训练营 随想 算法 代码

Leetcode 18. 四数之和(双指针)

题目链接在这里:四数之和 这道题和前面的三数之和一模一样,只是需要枚举前两个数而已,需要注意一下前两个数的重复点的判断,并且不要忘记排序。 from ast import List class Solution: def fourSum(self, nums: List, target: int): ......
之和 指针 Leetcode 18

二叉搜索树中两个节点之和

题目描述 给定一个二叉搜索树的 根节点 root 和一个整数 k , 请判断该二叉搜索树中是否存在两个节点它们的值之和等于 k 。假设二叉搜索树中节点的值均唯一。参考leetcode 分析 中序遍历二叉树,将节点的 value 保存到 ArrayList 中,ArrayList 中元素是有序的。 采 ......
之和 节点 两个

代码随想录Day10-Leetcode232. 用栈实现队列,225. 用队列实现栈

### 232.用栈实现队列 尽管是很简单的一题, 但还是参考了题解, 一开始还在想,push的时候还得把输出栈倒回来效率好低 结果一看题解发现不用 //思路: 对对队列尾部操作时(push,empty), 对输入栈正常操作; 对队列头部操作时(peek,pop),全部弹出到输出栈中操作 //参考思 ......
队列 随想录 随想 Leetcode 代码

代码随想录Day9-Leetcode28. 实现 strStr(),459.重复的子字符串

28. 实现 strStr() 这题之前写过, 而且印象深刻的是细节很多,所以这边是看完以前的代码,再写的(几乎是在背代码了hhh) 甚至这样, next[0]=-1, 和j开始匹配子串是没初始化成0这样的细节还是忘了 手撕kmp感觉光靠理解是有困难的 /** * @param {string} h ......

代码随想录 day 25 216.组合总和III | 17.电话号码的字母组合

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]] 示例 2: 输入: k = 3, n = 9 输出: ......
随想录 总和 随想 字母 电话号码

算法-两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 来源:力扣(LeetCode)链接:htt ......
之和 算法