回文 总和 算法day

5 排序算法总结

5 排序算法总结 首先总结表如下: 排序方法 平均时间复杂度 最好情况 最坏情况 空间复杂度 是否稳定 排序方式 冒泡排序 \(O(n^2)\) \(O(n)\) \(O(n^2)\) \(O(1)\) 稳定 内部排序 选择排序 \(O(n^2)\) \(O(n^2)\) \(O(n^2)\) \( ......
算法

2023“钉耙编程”中国大学生算法设计超级联赛(5)

1001 Typhoon 题意: 给你台风的轨迹坐标以及避难所的坐标,台风的半径不可预测,求让每个避难所不安全的最小台风半径是多少。 分析: 枚举每个点到所有“线段”的距离取个min。 代码: 附上队友的代码(懒): #include <bits/stdc++.h> #include <math.h ......
钉耙 算法 联赛 大学生 大学

机器学习算法原理实现——决策树里根据信息增益选择特征

先说熵的定义: 再看信息增益 信息增益是一种用于特征选择的指标,用于衡量特征对于数据集分类的贡献程度。它基于信息熵的概念,通过比较特征划分前后的信息熵差异来评估特征的重要性。信息熵是衡量数据集纯度的指标,表示数据集中的不确定性或混乱程度。信息熵越高,数据集的不确定性越大。 上述例子计算错误,gpt识 ......
算法 特征 原理 机器 信息

代码随想录算法训练营第四天| 24. 两两交换链表中的节点, 19.删除链表的倒数第N个结点,面试题02.07.链表相交,142.环形链表Ⅱ

24. 两两交换链表中的节点 mydemo(超时) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullpt ......
随想录 结点 环形 训练营 节点

《算法图解》的读书体会

最近工作有点内耗严重,经常头痛,静下心来读一本书架里的书,好久没有练算法了,程序员算法还是不能丢,在这里分享读书体会。有时候看一本书并不一定是抱着学习的心思去读,那样太累,学习太枯燥了,抱着玩的心态去读,更能让我读下去。如果遇到问题,绕开它,我们不一定要解决问题,逃避问题也是处理问题的一种方式。 下 ......
算法

机器学习算法原理实现——k近邻算法 KNN

K近邻算法是一种基于距离度量的数据分类模型,其基本做法是首先确定输入实例的[插图]个最近邻实例,然后利用这[插图]个训练实例的多数所属的类别来预测新的输入实例所属类别。 k最近邻(k-nearest neighbors,KNN)算法是一种基本的分类和回归算法。其基本原理如下:1. 训练阶段:将训练样 ......
算法 近邻 原理 机器 KNN

day13

C++面试题 1.说一下常见的linux指令 ls:查看当前文件目录 cd:切换当前目录 rm:删除文件或者文件夹 cp:复制文件或者文件夹 cat:查看文件内容 touch:创建一个新文件 pwd:显示当前工作目录 2.请你说说delete和free的区别?1.delete是运算符,free是库函 ......
day 13

算法训练day4: LeetCode 24

算法训练day4: LeetCode 24.19.142.面试题07.02 24.两两交换链表中的结点 题目 题目24. 两两交换链表中的节点 - 力扣(LeetCode) 题解 讲解代码随想录 (programmercarl.com) 第一想法:模拟的方法,使用三个指针,将结点两两交换。 clas ......
算法 LeetCode day4 day 24

分治算法

分治算法是一种解决问题的策略,将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。然后,求解这些子问题,再合并这些子问题的解以得到原问题的解。例如,二分法就是一种简单的分治算法。 以下是一个简单的分治算法Java实现示例,该示例使用分治算法计算数组中的最大和最小元素 ......
算法

LOJ#6515. 「雅礼集训 2018 Day10」贪玩蓝月题解

题目链接 #6515. 「雅礼集训 2018 Day10」贪玩蓝月 - 题目 - LibreOJ (loj.ac) 分析 一个朴素的想法就是模拟这个过程,当询问时做一遍01背包,但这样明显会超时 想象这样一个例子:当两次询问中间夹着一次插入操作 第二次进行01背包,明显只需要在第一次的基础上对新插入 ......
题解 6515 2018 LOJ Day

ZROI - CSP 七连测 Day2 赛总

Genral 惊险刺激。但还是菜。 统计: 得分 得分率 挂分率 AC 数 200 50% 0% 2 各题目详情: 题目 A B C D Total 期望得分 100 0 100 0 200 实际得分 100 0 100 0 200 挂分 0 0 0 0 0 A \(n≤4\)?直接搜! 于是就没了 ......
ZROI Day2 CSP Day

代码随想录算法训练营第三天

代码随想录算法训练营第三天 | LeetCode 203(移除链表元素) LeetCode 707(设计链表) LeetCode 206(反转链表) 203:移除链表元素 LeetCode 203(移除链表元素) 思路 遍历链表 等值删除 双指针 方法一:虚拟头节点 方法二:直接在原链表删除 方法一 ......
随想录 训练营 随想 算法 代码

[刷题记录Day 23]Leetcode二叉树

No.1 题目 修剪二叉搜索树 思路 递归法 有点抽象,要对具体案例做模拟才好懂 递归分析 返回值:节点,参数:节点,[下界,上界] 终止条件:遇到空节点,返回空 单层递归逻辑:判断不在范围内的情况:当前节点小于下界/大于上界,直接返回右/左子树递归结果;若在范围内,则递归筛查左右子树,返回当前节点 ......
Leetcode Day 23

hash判断回文串

hash的计算方法参考《字符串哈希》 建立正反两向的字符串哈希数组 for (int i = 1; i <= n; i++) { p[i] = p[i - 1] * P; h[i] = h[i - 1] * P + str[i]; // } for (int i = n; i >= 1; i--) ......
回文 hash

文心一言 VS 讯飞星火 VS chatgpt (89)-- 算法导论8.3 2题

二、用go语言,下面的排序算法中哪些是稳定的:插入排序、归并排序、堆排序和快速排序?给出一个能使任何排序算法都稳定的方法。你所给出的方法带来的额外时间和空间开销是多少? 文心一言: 在Go语言中,以下排序算法是稳定的: 插入排序 归并排序 而以下的排序算法是不稳定的: 堆排序 快速排序 要使任何排序 ......
文心 导论 算法 chatgpt VS

JAVA SE day4

JAVA SE 基本的Dos 命令 #盘符切换 D:#查看当前目录下的所有文件 dir#切换目录(/d 换盘符 写在cd 后) cd 文件夹#返回上一级cd..#清理屏幕 cls#打开应用 calc 计算机 ,notepad 记事本,mspaint 画图#ping 命令 可以获得 IP地址 延迟 一 ......
JAVA day4 day SE

KMP算法 Trie树(9/9)

KMP算法 int n, m; cin >> n >> a + 1 >> m >> b + 1;这两行代码的意思是输入字符串a,b但是是从下标1开始输入的 可以按照此方式输入字符串,但是输出必须按照下标for循环输出,不能直接输出 1 #include<iostream> 2 using names ......
算法 Trie KMP

论文研读_基于决策变量聚类的大规模多目标优化进化算法

多样性和收敛性是什么? 多样性:多样性是指在一个系统、模型或者群体中存在的不同类型的元素的数量和种类。在生物学中,多样性可能指的是一个生态系统中的物种多样性;在社会学中,多样性可能指的是一个社区或者组织中的文化、种族、性别等方面的多样性;在计算机科学中,多样性可能指的是解决一个问题的不同方法或者策略 ......
变量 算法 大规模 目标 论文

C#希尔排序算法

前言 希尔排序简单的来说就是一种改进的插入排序算法,它通过将待排序的元素分成若干个子序列,然后对每个子序列进行插入排序,最终逐步缩小子序列的间隔,直到整个序列变得有序。希尔排序的主要思想是通过插入排序的优势,减小逆序对的距离,从而提高排序效率。 希尔排序实现原理 首先要确定一个增量序列(初始间隔), ......
算法

C#结合OpenCVSharp4使用直方图算法比较图片相似度

C#结合OpenCVSharp4使用直方图算法比较图片相似度 直方图有灰度直方图、颜色直方图,如果是灰度图像,那么就用灰度直方图,这里使用颜色直方图来计算两个图片的相似度。 这里只记录如何使用,至于算法原理,问就是不会。 直方图算法效率高,但精度不够,适合快速比较,例如以图搜图 1. 下载 Open ......

机器学习算法原理实现——线性判别分析LDA

介绍 线性判别分析(Linear Discriminant Analysis, LDA)是一种有监督式的数据降维方法,是在机器学习和数据挖掘中一种广泛使用的经典算法。LDA的希望将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,按类别区分成一簇一簇的情况,并且相同类别的 ......
线性 算法 原理 机器 LDA

负载均衡之一致性哈希算法详解

负载均衡之一致性哈希算法详解 传统的哈希是直接把数据映射到对应的hash表上,但是当我们的数据量很大的时候,我们会采用多个hash节点来存储的方式来减少存储压力。 但是这种hash算法下,如果我们的节点发生了增加或减少的时候,我们就需要将所有数据,重新建立映射关系,这会导致大量的数据迁移和重新映射的 ......
一致性 算法

莫队算法学习笔记

莫队 普通莫队 这个很基础。 带修莫队 就在普通莫队的基础上加上时间这一维度。 [P1903 国家集训队] 数颜色 / 维护队列 回滚莫队 为什么要回滚? 因为有些信息不好撤销,比如区间众数。 和普通莫队相比较,就是对于每一个块,左端点放在块的右端点处,每次向左扩展,临时记录答案, 对于右端点,由于 ......
算法 笔记

python进阶 day08字典数据类型内置方法

字典数据类型内置方法 1.作用 对于值添加描述信息使用他 2.定义方式 用{}以逗号隔开加入键值对:key:value info_dict = {'name':'wangdapao','age':18,'height':120,'gender':'female','hobby_list':['dap ......
字典 类型 方法 数据 python

代码随想录算法训练营第三天| 203.移除链表元素 707.设计链表 206.反转链表

203.移除链表元素 链表定义 struct ListNode { int val; ListNode* next; ListNode(): val(0), next(NULL) {}; ListNode(int x): val(x), next(NULL) {}; ListNode(int x, ......
随想录 训练营 随想 算法 元素

回溯算法全排列

"全排列"是数学中的一个概念,指的是从给定集合中取出所有元素的所有排列方式。在这个问题中,我们需要实现一个方法,该方法能够生成数字1、2和3的所有全排列。 以下是一个简单的Java实现: import java.util.*; public class Main { public static vo ......
算法

[代码随想录]Day40-动态规划part08

题目:139. 单词拆分 思路: 单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。 拆分时可以重复使用字典中的单词,说明就是一个完全背包! 动规五部曲分析如下: 确定dp数组以及下标的含义:dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个 ......
随想录 随想 代码 动态 part

图解 LeetCode 算法汇总——链表

> 本文首发公众号:小码A梦 一般数据主要存储的形式主要有两种,一种是数组,一种是链表。数组是用来存储固定大小的同类型元素,存储在内存中是**一片连续**的空间。而链表就不同于数组。链表中的元素不是存储在内存中**可以是不连续的空间**。 ![](https://files.mdnice.com/u ......
算法 LeetCode

四种常用限流算法对比

### ****Leaky Bucket 漏桶**** 漏桶可理解为是一个限定容量的请求队列。 想象有一个桶,有水(指请求或数据)从上面流进来,水从桶下面的一个孔流出来。水流进桶的速度可以是随机的,但是水流出桶的速度是恒定的。 当水流进桶的速度较慢,桶不会被填满,请求就可以被处理。 当水流进桶的速度 ......
算法 常用