算法5
liuhuangdi
西南油专的学生,欢迎评论交流,大家一起进步
展开
-
盛最多水的容器--双指针法的应用
/ 在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为(i, ai) 和(i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。//盛最多水的容器:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i, ai)。原创 2024-04-18 02:23:00 · 391 阅读 · 0 评论 -
最长连续序列--哈希集合
/ 将数组转换为哈希集合,以便快速查找元素。// 如果当前数字是一个连续序列的起点(即前一个数不存在于集合中),则开始计算连续序列的长度。//最长连续序列:给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。// 向后依次检查连续的元素是否存在于集合中,直到找到连续序列的末尾。// 更新最长连续序列的长度。原创 2024-04-18 00:40:46 · 416 阅读 · 0 评论 -
//二叉搜索树中第K小的元素:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。
public:int count;int ans;return ans;if(root!=NULL){count++;原创 2024-04-17 23:41:37 · 266 阅读 · 0 评论 -
动态规划14--乘积最大子数组
//乘积最大子数组:给定一个整数数组 nu,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。#include<iostream>#include<vector>using namespace std;int maxProduct(vector<int>& nums) { int n = nums.size(), res = nums[0]; vector<int>f(n , 0), g(n , 0); f[0] = nums[0], g[0] = nums[0];原创 2024-04-17 22:02:42 · 114 阅读 · 0 评论 -
按右界排序:无重叠区间:给定一个区间的集合,请找出这些区间中最多有几个互不重叠的区间。
/无重叠区间:给定一个区间的集合,请找出这些区间中最多有几个互不重叠的区间。原创 2024-04-17 21:01:49 · 221 阅读 · 0 评论 -
递归回溯--全组合
/ 递归生成以当前元素为起点的新组合。// 回溯,移除当前元素,继续尝试下一个元素。// 将当前元素加入组合。// 从当前位置开始,逐个选择元素加入当前组合,生成新的组合。// 主函数,生成整数数组的全组合。// 将当前组合加入结果。// 辅助函数,用于生成组合。原创 2024-04-17 16:22:13 · 132 阅读 · 0 评论 -
双指针法--删除排序数组中的重复项
/删除排序数组中的重复项:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。原创 2024-04-17 15:17:22 · 80 阅读 · 0 评论 -
快慢指针法找链表中间节点
/链表的中间节点:给定一个头结点为 head 的非空单链表,返回链表的中间节点。如果有两个中间节点,则返回第二个中间节点。原创 2024-04-17 14:44:29 · 172 阅读 · 0 评论 -
动态规划13-最小编辑距离
/编辑距离:给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数。//你可以对一个单词进行如下三种操作:插入一个字符、删除一个字符、替换一个字符。原创 2024-04-17 14:26:54 · 427 阅读 · 0 评论 -
合并k个有序链表
/ 不断取出最小的节点加入到合并链表中。// 将所有链表的头节点加入优先队列。// 输出合并后的链表。原创 2024-04-17 01:59:39 · 454 阅读 · 0 评论 -
BFS--单词接龙: 给定两个单词(beginWord 和 endWord)和一个字典 wordList,// 找出所有从 beginWord 到 endWord 的最短转换序列的长度
/单词接龙: 给定两个单词(beginWord 和 endWord)和一个字典 wordList,// 如果无法转换到 endWord,则返回 0。// 每次转换只能改变一个字母,并且新单词必须在字典中存在。原创 2024-04-17 00:28:18 · 287 阅读 · 0 评论 -
字符串相乘: 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
/ 特殊情况:如果结果为空,返回"0"// 将结果转换为字符串。原创 2024-04-16 21:47:19 · 430 阅读 · 0 评论 -
动态规划12-一个机器人位于一个 m x n 网格的左上角。机器人每次只能向下或者向右移动一步。// 机器人试图达到网格的右下角。问总共有多少条不同的路径?
/不同路径: 一个机器人位于一个 m x n 网格的左上角。机器人每次只能向下或者向右移动一步。// 机器人试图达到网格的右下角。问总共有多少条不同的路径?原创 2024-04-16 20:46:27 · 250 阅读 · 0 评论 -
二叉树的最大路径和
/题目描述:给定一个非空二叉树,返回其最大路径和。路径可以从任何节点出发,经过任何节点,但是一条路径最多只能经过一个父节点。// 返回以当前节点为起点的最大路径和(注意只能经过当前节点的一条路径)// 更新当前节点为根节点的最大路径和。// 计算左子树和右子树的最大路径和。// 如果根节点为空,直接返回0。原创 2024-04-16 14:23:58 · 298 阅读 · 0 评论 -
最长有效括号--题目描述:给定一个只包含 ‘(‘ 和 ‘)‘ 的字符串,找出最长的包含有效括号的子串的长度。
cout原创 2024-04-14 22:27:03 · 281 阅读 · 0 评论