代码随想录算法训练营第二十九天 | 39. 组合总和、40.组合总和II、131.分割回文串

39. 组合总和 解题思路 这里和组合不同的是元素可以重复选取,其实也就是注意startindex的位置就可以,深度控制是由k的值来进行的 剪枝操作  剪枝一般都是在for循环上做操作,因为多了一些分支 而这题,我们只需要将数组排序后,例如235,和为4,当2+3已经大于4了,就没必要去遍历5了,因此在for循环中多加个判断条件即可 class Solution {private:vector<i...

链表的算法

题目 将一个节点数为 size 链表 m 位置到 n位置之间的区间反转, 要求时间 复杂度 O(n),空间复杂度 O(1)。 例如: 给出的链表为1→2→3→4→5→NUL,m=2,n=4 返回1→>4→>3→2->5->NULL , 数据范围:链表长度0< size < 1000,0 <m<n< size,链表 中每个节点的值满足 val < 1000 空间复杂度 O(n) 要求:时间复杂度 O(n...

Python 机器学习 基础 之 监督学习 [决策树集成] 算法 的简单说明

Python 机器学习 基础 之 监督学习 [决策树集成] 算法 的简单说明 目录 Python 机器学习 基础 之 监督学习 [决策树集成] 算法 的简单说明 一、简单介绍 二、监督学习 算法 说明前的 数据集 说明 三、监督学习 之 决策树集成 1、随机森林 2、梯度提升回归树(梯度提升机) 3、极端随机树 附录 一、参考文献 一、简单介绍 Python是一种跨平台的计算机程序设计语言。是一种面向...

算法】Dijkstra求最短路算法

TOP提示:Dijkstra算法只适用于不含负权边的情况  Dijkstra算法是一个基于贪心,广搜和动态规划 求图中某点到其他所有点的最短路径的算法  一、步骤 首先我们先总结Dijkstra算法的完整步骤 我们需要一个dis数组存储从起点到达其他节点的最短距离,一个check数组判断从起点到某点的最短距离是否已确定,一个path二维数组存储图中从点 i 到点 j 的距离 一共循环n次(n个节点),...

基于yolov2深度学习网络模型的鱼眼镜头中人员检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 load yolov2.mat% 加载训练好的目标检测器img_size= [448,448];imgPath = 'test/'; % 图像库路径cnt = 0; for i = 1:12 % 遍历...

[优选算法]------滑动窗⼝——209. 长度最小的子数组

目录  1.题目 1.解法⼀(暴⼒求解)(会超时):  2.解法⼆(滑动窗⼝): 1.算法思路: 2.手撕图解 3.代码实现  1.C++ 2.C语言   1.题目 209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl+1, ..., numsr-1, nums...

代码随想录算法训练营第十四天 | 二叉树基础知识、递归遍历、迭代遍历、统一迭代

基础知识 递归遍历 解题思路 1.确定要传入的参数和返回值 2.注意终止条件  3.确定单层递归的逻辑 中序和后序按照中左右,左右中的顺序即可 class Solution {public: vector<int> preorderTraversal(TreeNode* root) { vector<int> result; traverSal(root,result); return result...

代码随想录算法训练营第二十五天 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 解题思路 在上一题的删除二叉树节点中,我们通过在这一层的返回值,让上一层接住,也就是上一层对应的孩子接住这层的返回值,达到删除节点的目的(C++要手动清理内存)。在这题有一些注意事项如下:我们需要判断,如果当前删除节点的值小于左边界,但要去右遍历,是可能符合区间的,同样的大于右边界,要去左遍历     class Solution {public: TreeNode* tr...

数据结构与算法学习笔记三---队列的链式存储表示和实现(C++)

目录 前言 1.队列的概念 2.队列的表示和实现 1.定义 2.初始化 ​编辑 3.销毁队列 4.清空队列 5.队列判空 6.队列长度 7.获取队头元素 8.入队 9.出队 10.遍历 11.完整代码 前言     这篇博客主要讲的是对队列的链式存储。 1.队列的概念         队列是一种访问受限的线性表。仅允许在表的一端进行插入操作,在表的另一端进行删除操作。和日常生活中的排队是一致的,最先...

【排序算法】之插入排序

一、算法介绍 插入排序是一种比较基础简单的算法,又叫直接插入排序法。其基本思想是将待排序的元素逐个插入到已排序的部分,最终得到一个有序序列。具体步骤如下: 假设数组的第一个元素已经是有序的。 从第二个元素开始,遍历整个数组。 对于每个未排序的元素,将其作为“关键值”(key)。 将关键值与已排序部分的元素从后向前逐个比较,找到第一个比关键值小的元素。 将所有比关键值大的元素向后移动一位,为关键值腾出...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.015056(s)
2024-05-17 09:53:49 1715910829