II
518.零钱兑换II
给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号整数。 ``` 输入:amount = 5, co ......
剑指 Offer II 039. 直方图最大矩形面积
题目链接:[剑指 Offer II 039. 直方图最大矩形面积](https://leetcode.cn/problems/0ynMMM/) ## 方法:单调栈 ### 解题思路 - 以直方图中的某一条为高的最大(面积)矩形的宽度为 $r - l + 1$,其中 $r$ 表示在其右边第一个小于(或 ......
剑指 Offer 57 - II. 和为s的连续正数序列
题目描述: 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 方法:滑动窗口(双指针) class Solution{ public int[][] findContinuousSequen ......
541. 反转字符串II——学习笔记
###给定一个字符串 `s` 和一个整数 `k`,从字符串开头算起,每计数至 `2k` 个字符,就反转这 `2k `字符中的前 `k` 个字符。 - **如果剩余字符少于 k 个,则将剩余字符全部反转。** - **如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样 ......
剑指Offer58-II.左旋转字符串——学习笔记
###题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 **示例1:** ``` 输入: s = "abcdefg", k = 2 输出: ......
1049. 最后一块石头的重量 II
有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x 动态规划** ``` class Solution { public: int lastStoneWeigh ......
P7284 [COCI2020-2021#4] Patkice II 题解
广搜好题 ## 题目大意 起点是 "o" , 终点是 "x" ,"^ v " 表示四种洋流,鸭子进入洋流后就可以沿着该方向移动距离, "." 是平静的海面,鸭子进入这里就会停止。问我们需要至少改变多少个字符才能使鸭子从起点走向终点,并且打印出改变字符后的地图。 ## 思路 一般求最短路径的算法就是 ......
剑指 Offer 56 - II. 数组中数字出现的次数 II
题目描述: 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 int[] counts = new int[32]; for(int i = 0; i < nums.length; i++) { for(int j = 0; j < 32; j++ ......
剑指 Offer II 018(Java). 有效的回文(简单)
题目: 给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的 回文串 。 示例 1: 输入: s = "A man, a plan, a canal: Panama"输出: true解释:"amanaplanacanalpan ......
LeetCode 95. 不同的二叉搜索树 II
``` class Solution { public: vector dfs(int l,int r)//返回以n为根节点的所有可能子树 { vector res; if(l>r) return {NULL}; for(int k=l;k left=dfs(l,k-1); vector right ......
02、SECS-II 通信协议介绍
> 这里我们先学习 SECS-II 协议,给我的感受是先学完 SECS-II 协议,再去学习 SECS-I 和 HSMS 协议更加容易理解,所以这里我先介绍 SECS-II 协议。 > > 文章的内容基本上来自参考资料和自己看的文档,若有侵权,请联系删除,谢谢。 ### 1、SECS-II 概述 消 ......
【cpluscplus教程翻译】Classes (II)
# 操作符重载 本质上,类就是在C++代码里定义了新的类型,在代码中,类型不仅用来构造和赋值,还可以用操作符进行运算,考虑基础类型的加减乘除 ```c++ int a, b, c; a = b + c; ``` 上面这个例子用了加法操作符和赋值操作符,对于基础类型,这些操作的含义非常显而易见且无歧义 ......
复旦大学数学学院22级高等代数II期中考试压轴大题的解答及其推广
五、设 $n\,(n\geq 2)$ 阶方阵 $A$ 的全体特征值为 $\lambda_1=0$, $\lambda_2,\cdots,\lambda_n$, 且 $\lambda_1$ 的一个特征向量为 $e=(1,1,\cdots,1)'$. 证明: 若 $A=(\alpha_1,\alpha_ ......
LeetCode 113. 路径总和 II
###题目链接:[LeetCode 113. 路径总和 II](https://leetcode.cn/problems/path-sum-ii/) ###题意: 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 ## ......
代码随想录算法训练营第8天 | ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串 - 第4章 字符串part01
第四章 字符串part01 今日任务 ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串 详细布置 344.反转字符串 建议: 本题是字符串基础题目,就是考察 reverse 函数的实现 ......
代码随想录算法训练营第七天 | 454.四数相加II 、383.赎金信
📋目录 ✅ 454.四数相加II ➡️ 383.赎金信 ➡️ 15.三数之和 ➡️ 18.四数之和 454.四数相加II ⏰ 1.解题思路 定义一个map,key用来存放a和b的两数之和,value用来存两数之和出现的次数 将四个数组两两分组,nums1和nums2、nums3 和 nums4 定 ......
122. 买卖股票的最佳时机 II
分析: 初看题目还是有点难 开始状态准备建在第i天买入还是抛出股票,这种状态建立出来不能状态转移 翻阅了一下题解,再次重新建立状态,在第i天是否持有股票 dp[i][j]表示到第i天所能获得的最大利润 dp[i][0]是在第i天不持有股票,要么在当天抛出股票,要么状态跟上一天一样什么也不做 dp[i ......
四种语言刷算法之环形链表 II
力扣142. 环形链表 II 1、C /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode *detectCyc ......
LeetCode 454. 四数相加 II
###题目链接:LeetCode 454. 四数相加 II ###题意: 给定四个数组,找出在四个数组中,各取一个数,使得四个数相加和为0 ###解题思路: 本题给出的是四个独立的数组,只要找到nums1[i] + nums2[j] + nums3[k] + nums4[l] = 0就可以,不用考虑 ......
LeetCode 142. 环形链表 II
###题目链接:LeetCode 142. 环形链表 II ###题意: 如果链表中存在环,则找出环的入口,如果链表中不存在环,则返回null ###解题思路: 解决本题有两个关键的点: 判断链表中是否存在环 如果存在环的话,如何找出环的入口 ####判断链表是否存在环 判断一个链表是否存在环,可以 ......
LeetCode 59. 螺旋矩阵 II
题目链接:LeetCode 59. 螺旋矩阵 II 本题不涉及算法,只是简单的模拟,但是由于边界条件比较多,因此容易出错。 分析题干:题目要求按照右、下、左、上、这样的顺序对数组进行填充,填充的值为 1 ~ n*n,因此问题的关键就是找到待填充的位置,将其值赋值为 i 即可。 由于填充的顺序是有规律 ......
350. 两个数组的交集 II
分析: 跟上道题一样,但是可以重复 代码: class Solution(object): def intersect(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] " ......
动态规划:剑指 Offer 10- II. 青蛙跳台阶问题
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 提示: 0 <= n <= 100 复杂度分析: 时间复杂度 O(N) : 计算 f ......
LeetCode 1049. 最后一块石头的重量 II
思路 任何时刻,某个石头的重量永远都是若干石头加减运算的绝对值 如 a-b+c 合并石头都是减法,但仍可能出现+运算符,如 a-(b-c)=a-b+c 任何一种合并方法,最后一个石头的重量都可以表示成一种代数形式,如 a+b-c+d+e+f-g 不是所有的代数形式都可以转换为一种合并方法,如 a+b ......
AcWing 754. 平方矩阵 II
AcWing 754. 平方矩阵 II 1. 地址 https://www.acwing.com/problem/content/756/ 2. 题解 #include <iostream> #include <cstdio> #include <cmath> using namespace std ......
[Leetcode] 0680. 验证回文串 II
680. 验证回文串 II 点击上方标题跳转至leetcode 题目描述 给你一个字符串 s,最多 可以从中删除一个字符。 请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。 示例 1: 输入:s = "aba" 输出:true 示例 2: 输入:s = "ab ......
cpp: Strategy Pattern II
// Gold.h : 此文件包含 "Gold" 类。策略模式 Strategy Pattern C++ 14 // 2023年5月1日 涂聚文 Geovin Du Visual Studio 2022 edit. #pragma once //#ifndef GOLD_H //#define GO ......
2.八数码II(搜索进阶 IDA*估价函数 + 迭代加深)
八数码II ↑ 题目链接 题目 在一个 $3×3$ 的网格中,$1∼8$ 这 8 个数字和一个 X 恰好不重不漏地分布在这 $3×3$ 的网格中。 例如: 1 2 3 X 4 6 7 5 8 在游戏过程中,可以把 X 与其上、下、左、右四个方向之一的数字交换(如果存在)。 把 X 与上下左右方向数字 ......
剑指 Offer II 022. 链表中环的入口节点
题目链接:剑指 Offer II 022. 链表中环的入口节点 方法一:哈希 解题思路 统计走过的节点,当第一次遇到重复的节点时,即为入口节点,否则为 $null$。 代码 class Solution { public: ListNode *detectCycle(ListNode *head) ......