46. 携带研究材料(0-1背包问题) 题目链接:https://kamacoder.com/problempage.php?pid=1046 文章讲解:https://programmercarl.com/背包理论基础01背包-1.html 视频讲解:https://www.bilibili.co ...
目录栈栈的概念顺序栈代码实现Stack.hStack.c 栈 栈的概念 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/ ...
目录顺序表概念代码实现动态顺序表SeqLish.hSeqList.c线性表区分 顺序表 概念 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存 储。在数组上完成数据的增删查改。 顺序表一般可以分为: 静态顺序表:使用定长数组存储元素。 动态顺序表:使用动态开辟的数 ...
目录链表链表的概念链表的分类代码实现无头单向非循环链表SingleLink.hSingleLink.c带头双向循环链表DoubleLink.hDoubleLink.cnull 链表 链表的概念 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 ...
目录一、树概念及结构树的概念树的相关概念树的表示二、二叉树概念及结构概念特殊的二叉树二叉树的性质二叉树的存储结构三、二叉树的顺序结构及实现二叉树的顺序结构堆的概念及结构堆的作用:堆的性质:计算孩子与父亲的下标关系1. 通过父亲得到左右孩子的下标2. 通过孩子找到父亲的下标如何得知自己是左孩子还是右孩 ...
242.有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: ...
节点结构体设计 struct LinkNode { // 数据域 void* data; // 指针域 struct LinkNode * next; }; data:一个 void* 类型的指针,指向节点存储的数据。使用 void* 是为了链表能够存储不同类型的数据。 next:一个指向下一个 L ...
62. 不同路径 题目链接:https://leetcode.cn/problems/unique-paths/ 题目难度:中等 文章讲解:https://programmercarl.com/0062.不同路径.html 视频讲解:https://www.bilibili.com/video/BV ...
24.两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3: ...
1. 两数之和 题目链接:https://leetcode.cn/problems/two-sum/description/?envType=study-plan-v2&envId=top-100-liked 解题状态:通过 标签:数组、哈希表 思路: 通过创建一个哈希表来保存数组中的元素,每当遍历 ...
A - Leap Year (abc365 A) 题目大意 给定年份,判断该年是否是闰年。 解题思路 根据闰年的两个条件,注意判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long long; int mai ...
509. 斐波那契数 题目链接:https://leetcode.cn/problems/fibonacci-number/ 题目难度:简单 文章讲解:https://programmercarl.com/0509.斐波那契数.html 视频讲解:https://www.bilibili.com/v ...
203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:hea ...
56. 合并区间 题目链接:https://leetcode.cn/problems/merge-intervals/ 题目难度:中等 文章讲解:https://programmercarl.com/0056.合并区间.html 视频讲解:https://www.bilibili.com/video ...
452. 用最少数量的箭引爆气球 题目链接:https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/ 题目难度:中等 文章讲解:https://programmercarl.com/0452.用最少数量的箭引爆气 ...
134. 加油站 题目链接:https://leetcode.cn/problems/gas-station/ 题目难度:中等 文章讲解:https://programmercarl.com/0134.加油站.html 视频讲解:https://www.bilibili.com/video/BV1j ...
Circle 画出4个圈的交叉 所以就是1 2 4 8 14,从第二个数开始,每个+2,+4,+6,....以此类推。 void solve() { int a[1000005]={0}; a[0]=1; a[1]=2; for(int i=2;i<1000005;i++) { a[i]=a[i-1 ...
122. 买卖股票的最佳时机II 题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/ 题目难度:中等 文章讲解:https://programmercarl.com/0122.买卖股票的最佳时机II.html 视 ...
455. 分发饼干 题目链接:https://leetcode.cn/problems/assign-cookies/ 题目难度:简单 文章讲解:https://programmercarl.com/0455.分发饼干.html 视频讲解:https://www.bilibili.com/video ...
线性结构(下):栈和队列 1.栈 只允许在一端插入和删除的线性表 允许插入和删除的一端称为栈顶 (top),另一端称为栈底(bottom) 特点:后进先出,LIFO(Last In First Out) 栈的基本抽象数据类型实现: template <class E> class Stack { p ...