鲸鱼 冷热 尺度 算法

策略模式:整体替换算法

策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在策略模式中,我们定义了多个算法,并将每个算法封装在一个独立的类中(__策略类__),以便在运行时根据需要进行切换。这使得算法与调用其算法的客户端代码分离,从而实现了更高的灵活性和可维护性。 主要实现方式:1 策略接口 -> n * 具体策略 ......
算法 整体 策略 模式

kmp 算法

问题描述 kmp算法解决的是字符串匹配问题,即:字符串P是否是字符串S的子串?如果是,它出现在s的哪些位置?这里我们称 S 为主串,P 为模式串。 思路 首先是暴力匹配算法(Brute-Force算法),代码如下: void BruteForce(string s, string p) { int ......
算法 kmp

LRU 算法与 LFU 算法

算法介绍 LRU LRU 全称是 Least Recently Used,即最近最久未使用算法。 LRU 根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高,它是页面置换算法的一种,也常用于缓存设计。 LFU LFU 全称是 Least Freque ......
算法 LRU LFU

快速选择算法

问题描述 给定一个长度为$n$的数组,如何在$O(n)$的时间复杂度内找到第$k$大的数。 思路 朴素的想法是先排序,然后直接找到第$k$个元素,时间复杂度为$O(n\log n)$。 我们可以利用快速排序的思想来解决这个问题,考虑快速排序的划分过程,在快速排序的“划分”结束后,数组$A_p \cd ......
算法

字符串哈希算法

问题描述 考虑 1044. 最长重复子串 (Hard),本题思路并不难,可以使用二分答案来解决,假设答案为 mid,那么长度大于 mid 的子串在 s 中只会出现一次,否则至少出现两次。 因此只需要考虑子串在 s 中的出现次数即可,比较直接的想法是使用 key 为 string 的 unordere ......
字符串 算法 字符

马拉车算法

截图来自董老师https://www.bilibili.com/video/BV173411V7Ai/?spm_id_from=333.999.0.0&vd_source=23dc8e19d485a6ac47f03f6520fb15c2 P3805 【模板】manacher 算法 #include< ......
算法

《数据结构与算法》之二叉树(补充树)

一.树结构之二叉树操作 二叉树的查找 二叉搜索树,也称二叉排序树或二叉查找树 二叉搜索树:一棵二叉树,可以为空,如果不为空,应该满足以下性质: 非空左子树的所有结点小于其根结点的键值 非空右子树的所有结点大于其根结点的键值 左右子树都是二叉搜索树 对于二叉树的查找,其实沿用的是分治法的思想,所以我们 ......
数据结构 算法 结构 数据

文心一言 VS 讯飞星火 VS chatgpt (40)-- 算法导论5.4 4题

# 四、一次聚会需要邀请多少人,才能让其中 3 人的生日很可能相同? ## 文心一言: 为了解决这个问题,我们需要先计算出所有可能的生日组合数,然后计算出其中生日相同的组合数。 已知需要邀请的人数为:23人 根据组合数公式,可计算出所有可能的生日组合数: 2.58520167*10^{22} 根据生 ......
文心 导论 算法 chatgpt VS

算法题总结-最长递增子序列

原题 https://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4?tpId=37&tqId=21247&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2F ......
序列 算法

c#排序算法

1.没有一种排序算法是万能的最快算法,因为最快的排序算法取决于数据的性质和排序要求。然而,对于一般情况下的排序问题,以下算法通常被认为是最快的: 快速排序(Quick Sort):这是一种基于分治思想的常见排序算法。其平均时间复杂度为 O(nlogn)。因为其平均情况下时间复杂度相对较快,加上其实现 ......
算法

LRU 算法与 LFU 算法

算法介绍 LRU LRU 全称是 Least Recently Used,即最近最久未使用算法。 LRU 根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高,它是页面置换算法的一种,也常用于缓存设计。 LFU LFU 全称是 Least Freque ......
算法 LRU LFU

kmp算法

问题描述 kmp算法解决的是字符串匹配问题,即:字符串P是否是字符串S的子串?如果是,它出现在s的哪些位置?这里我们称 S 为主串,P 为模式串。 思路 首先是暴力匹配算法(Brute-Force算法),代码如下: void BruteForce(string s, string p) { int ......
算法 kmp

快速选择算法

问题描述 给定一个长度为$n$的数组,如何在$O(n)$的时间复杂度内找到第$k$大的数。 思路 朴素的想法是先排序,然后直接找到第$k$个元素,时间复杂度为$O(n\log n)$。 我们可以利用快速排序的思想来解决这个问题,考虑快速排序的划分过程,在快速排序的“划分”结束后,数组$A_p \cd ......
算法

字符串哈希算法

问题描述 考虑 1044. 最长重复子串 (Hard),本题思路并不难,可以使用二分答案来解决,假设答案为 mid,那么长度大于 mid 的子串在 s 中只会出现一次,否则至少出现两次。 因此只需要考虑子串在 s 中的出现次数即可,比较直接的想法是使用 key 为 string 的 unordere ......
字符串 算法 字符

代码随想录算法训练营第六天| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

454.四数相加II 1,难点: 1,多个数组之间,会有重复出现的数组,如果单用multiset也是会出错的 2,如果用mutliset,在使用 distance 找出来 equal_range的值的时候,也是会出现奇怪的错误的 2,正确思路 1,把重复出现的节点,次数 存放到map种,然后进行遍历 ......
之和 随想录 训练营 随想 算法

ChatGPT之问艺道:如何借助神级算法Prompt,让你轻松get到更高质量答案?

> 摘要:本文由葡萄城技术团队编写,文章的内容借鉴于Ibrahim John的《The Art of Asking ChatGPT》(向ChatGPT提问的艺术)。 # 前言 当今,ChatGPT赢得越来越多人的青睐,人们通过它输入问题并获取答案。但除了简单的一问一答以外,ChatGPT还有许多隐藏 ......
算法 高质量 答案 ChatGPT Prompt

什么是 GNSS 杠杆臂,它在 GNSS/INS 传感器融合算法中有什么作用?

https://base.xsens.com/s/article/The-GNSS-lever-arm-antenna-offset-and-its-role-in-the-GNSS-INS-sensor-fusion-algorithm?language=en_US GNSS 杠杆臂设置考虑了 M ......
杠杆 GNSS 传感器 算法 作用

代码随想录算法训练营第32天 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II - 第8章 回溯算法part02

第八章 贪心算法 part02 ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II 详细布置 122.买卖股票的最佳时机II 本题解法很巧妙,大家可以看题思考一下,在看题解。 https://programmercarl.com/0122.%E4%B9%B0%E5%8D ......
算法 随想录 训练营 随想 时机

代码随想录算法训练营第35天 | ● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球 - 第8章 回溯算法part04

第八章 贪心算法 part04 ● 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球 详细布置 860.柠檬水找零 本题看上好像挺难,其实挺简单的,大家先尝试自己做一做。 https://programmercarl.com/0860.%E6%9F%A0%E6% ......
算法 随想录 柠檬水 队列 训练营

代码随想录算法训练营第34天 | ● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果 - 第8章 回溯算法part03

第八章 贪心算法 part03 ● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果 详细布置 1005.K次取反后最大化的数组和 本题简单一些,估计大家不用想着贪心 ,用自己直觉也会有思路。 https://programmercarl.com/1005.K%E6% ......
算法 随想录 训练营 数组 随想

代码随想录算法训练营第30天 | ● 332.重新安排行程 ● 51. N皇后 ● 37. 解数独 ● 总结 - 第7章 回溯算法part06

第七章 回溯算法part06 ● 332.重新安排行程 ● 51. N皇后 ● 37. 解数独 ● 总结 详细布置 今天这三道题都非常难,那么这么难的题,为啥一天做三道? 因为 一刷 也不求大家能把这么难的问题解决,所以 大家一刷的时候,就了解一下题目的要求,了解一下解题思路,不求能直接写出代码,先 ......
算法 解数 随想录 训练营 随想

代码随想录算法训练营第31天 | ● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和 - 第7章 回溯算法part01

第八章 贪心算法 part01 ● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和 贪心算法其实就是没有什么规律可言,所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其规律, 没有思路就立刻看题解。 基本贪心的题目 有两个极端,要不就是特简单,要 ......
算法 随想录 训练营 序列 饼干

代码随想录算法训练营第27天 | ● 93.复原IP地址 ● 78.子集 ● 90.子集II - 第7章 回溯算法part04

28 第七章 回溯算法 ● 93.复原IP地址 ● 78.子集 ● 90.子集II 详细布置 93.复原IP地址 本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:https://programmercarl.com/0093.%E5%A4%8D%E5%8 ......
子集 算法 随想录 训练营 随想

代码随想录算法训练营第26天 | ● 39. 组合总和 ● 40.组合总和II ● 131.分割回文串 - 第7章 回溯算法part03

第七章 回溯算法part03 ● 39. 组合总和 ● 40.组合总和II ● 131.分割回文串 详细布置 39. 组合总和 本题是 集合里元素可以用无数次,那么和组合问题的差别 其实仅在于 startIndex上的控制 题目链接/文章讲解:https://programmercarl.com/0 ......
总和 算法 随想录 回文 训练营

代码随想录算法训练营第28天 | * 491.递增子序列 * 46.全排列 * 47.全排列 II - 第7章 回溯算法part05

第七章 回溯算法part05 * 491.递增子序列 * 46.全排列 * 47.全排列 II 详细布置 491.递增子序列 本题和大家刚做过的 90.子集II 非常像,但又很不一样,很容易掉坑里。 https://programmercarl.com/0491.%E9%80%92%E5%A2%9E ......
算法 随想录 训练营 序列 随想

代码随想录算法训练营第24天 | ● 理论基础 ● 77. 组合 - 第7章 回溯算法part01

第七章 回溯算法part01 今日内容: ● 理论基础 ● 77. 组合 详细布置 理论基础 其实在讲解二叉树的时候,就给大家介绍过回溯,这次正式开启回溯算法,大家可以先看视频,对回溯算法有一个整体的了解。 题目链接/文章讲解:https://programmercarl.com/%E5%9B%9E ......
算法 随想录 训练营 随想 理论

代码随想录算法训练营第25天 | ● 216.组合总和III ● 17.电话号码的字母组合 - 第7章 回溯算法part02

第七章 回溯算法part02 今日内容: ● 216.组合总和III ● 17.电话号码的字母组合 详细布置 216.组合总和III 如果把 组合问题理解了,本题就容易一些了。 题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88% ......
算法 随想录 训练营 总和 随想

算法题:冒泡排序

function bubbleSort($arr) { $len = count($arr); // 获取要排序数组的长度 for ($i = 0; $i < $len; $i++) { // 外层循环遍历整个数组 for ($j = 0; $j < $len - $i - 1; $j++) { / ......
算法

代码随想录算法训练营第五天| 242.有效的字母异位词 , 349. 两个数组的交集 , 202. 快乐数 , 1. 两数之和

242.有效的字母异位词 繁冗版: 1,思路: 先建立两个map,对应两个字符串对应的字符,同时对他们进行计数,如果这两个数字相等,那么就是相等 2,代码 1 bool isAnagram_complicate(string s, string t) 2 { 3 unordered_map<char ......
随想录 之和 训练营 数组 交集

相位熵Phase entropy,多尺度相位熵,层次相位熵,时移多尺度相位熵,复合多尺度相位熵,精细复合多尺度相位熵

复杂系统内部结构特征的提取一直是研究人员关注的问题。时间序列作为复杂系统的重要信息载体,得到了广泛的研究。时间序列的复杂性与时间序列的多种动态特性密切相关,如长程相关等、多重分形特征、混沌特征等。这些特征的存在使得时间序列表现出不同程度的复杂性。研究人员希望通过分析时间序列的动态模式来揭示复杂系统的 ......
相位 尺度 层次 entropy Phase