算法leetcode day 30

manacher(马拉车)算法C++详解

#马拉车的定义 马拉车本质是对**中心扩展法**(暴力算法)的优化。 #马拉车是干什么的 Manacher算法帮助我们**在给定的字符串中找到最长的回文子串**。 为了简单起见,我们先只处理有奇数个字符的字符串,关于偶数个字符的字符串,在文章最后会给出解法。我们的处理思路和暴力算法基本一致,那就是从 ......
算法 manacher

单源次短路算法 学习笔记

**次短路**:顾名思义就是一张图中**第二短**的路径。 **分类**:1. 边**不可重复经过**的次短路问题。边**可重复经过**的次短路问题。 2. **严格**次短路(次短路长度**必须大于**最短路长度)。**非严格**次短路(次短路长度**可以大于或等于**最短路长度)。 # 一 、边 ......
算法 笔记

关于读者阅读“改良版雪花算法”后提出的几个共性问题的回复

你好呀,我是歪歪。 周一的时候不是发了《在开源项目中看到一个改良版的雪花算法,现在它是你的了。》这篇破文章嘛。 然后有好几个读者都提出了几个类似的问题,再写个续集,给大家解答一下。 我就喜欢这种和读者有来有回,相互拉扯的感觉。 突出一个“相互学习,共同进步。” 超前消费 首先大家都在纠结的一个点是, ......
共性 算法 雪花 读者 问题

C++系列二:STL教程-常用算法

 [TOC](常用算法) # 前言 还有一些我在尝试中迷惑不解的,有点玄幻。 # 算法列举: 1. 排序算法: ```cpp sort(first, last); stable_sort(first, last); partial_sort(first, middle, last); partia ......
算法 常用 教程 STL

智能投放算法笔记(S/X-Learner & Uplift tree)

[toc] ## 1 S/X-Learner ### 1.1 S/X-Learner算法概述 S/X-Learner是一种基于强化学习的算法,用于在线广告的智能自动投放。其包含两个组成部分: - S-Learner: 评估每个广告的预期点击率(CTR) - X-Learner: 评估每个广告的真实商 ......
算法 X-Learner Learner 智能 笔记

决策树算法

## 决策树算法核心是要解决两个的关键问题 1、如何从数据表中照出最佳节点和最佳分支 2、如何让决策树停止生长防止过拟合 > 就是说假如我有一张数据表,数据表中有成千上万个特征,我要把他们都提问完吗? ## sklearn中的决策树模型 ![6.png](https://img1.imgtp.com ......
算法

代码随想录算法训练营第十天|力扣232.用栈实现队列、力扣225.用队列实现栈

# 栈与队列 ## 理论知识 栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。 不像是set 或者map 提供迭代器iterator来遍历所有元素。 **栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔 ......
队列 随想录 训练营 随想 算法

代码随想录算法训练营第十四天| 理论基础 递归遍历 迭代遍历

理论基础 卡哥建议:需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义 文章讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 补充的知识点: ......
随想录 训练营 随想 算法 理论

【JavaScript30】promise

## 在前端js中是可以发送网络请求的,如果前端js的请求是线性的请求(同步), 网站的体验会很差。设计js发请求的那个人. 选择了使用异步执行方式. 大幅度的提升用户体验. ``` console.log("我要发请求了"); setTimeout(function(){ console.log( ......
JavaScript promise 30

day01

## 数组理论基础 ● 思维不难,主要是考察对代码的掌控能力 ● 内存中的存储方式:存放在连续内存空间上的相同类型数据的集合 ● 数组可以通过下标索引获取到下标对应的数据 ● 数组下标从0开始 ● 因为内存空间地址连续,因此删除或增加元素的时候,难免移动其他元素地址 ● Java中的二维数组,每一行 ......
day 01

单源最短路径算法

# 单源最短路径算法 ## 1. 原理 单源最短路径算法是一种用于在有向图或无向图中找到从指定源节点到其他所有节点的最短路径的算法。常用的单源最短路径算法有Dijkstra算法、Floyd-Warshall算法和Bellman-Ford算法。 ## 2. Dijkstra算法 Dijkstra算法是 ......
算法

(未完全掌握)代码随想录算法训练营第八、九天|KMP算法;力扣28.实现strStr(),力扣459.重复的子字符串

## KMP算法(没掌握) - 主要功能:字符串匹配 - 理论:检测文本串中是否出现过模式串 - 前缀就是包含首字母不包含尾字母的所有子串 - 后缀就是包含尾字母不包含首字母的所有子串 - 最长相等前后缀:对子串分别分析,从左向右 - **前缀表是用来回退的,它记录了模式串与主串(文本串)不匹配的时 ......
算法 随想录 训练营 九天 字符串

Leetcode 704. 二分查找(Binary Search)

[题目链接](https://leetcode.cn/problems/binary-search) 给定一个n个元素有序的(升序)整型数组`nums`和一个目标值`target`, 写一个函数搜索`nums`中的`target`, 如果目标值存在返回下标, 否则返回`-1`。 示例 1: ``` ......
Leetcode Binary Search 704

Floyd 算法

# Floyd 算法:动态规划中的最短路径问题 ## 一、简介 Floyd 算法是一种用于求解图中所有顶点对之间最短路径的动态规划算法。它是由 Robert W. Floyd 在 1965 年提出的,因此得名 Floyd-Warshall 算法。该算法的核心思想是使用动态规划来避免重复计算已经计算过 ......
算法 Floyd

Python基础day63 Django分页和cookie、session

推导分页的原理 分页:当我们要展示的数据特别多的时候,一页展示不完,这个时候我们需要把要展示的数据分成多页展示 分页中需要的几个参数:1. 总数据有多少条2. 每页展示多少条数据(自己规定的20)3. 一共展示多少页4. 总页数 = 总数据量 / 每页展示多少条数据5. 当前第几页(前端传过去的) ......
session 基础 Python Django cookie

study go of First day

**一、语言标准** **1、go语言标识符基本和c语言规则一致:** **1).由数字、字母、下划线(_)组成** **2).数字不能在开头** **3).区分大小写** **————————————————————————————————————————————————————————————— ......
study First day go of

Get a quick overview of the hottest diagnostic tools of the day

In today's fast-paced technological world, it is critical for professionals across industries to have access to reliable diagnostic tools. This is esp ......
diagnostic the overview hottest quick

[代码随想录]Day13-二叉树part02

## 题目:[102. 二叉树的层序遍历](https://leetcode.cn/problems/binary-tree-level-order-traversal/) ### 思路: 先把根放进去,然后每次都是左右就可以了。 记录一个深度,当`len(res) == deepth`的时候就说明 ......
随想录 随想 代码 part Day

LRU机制:哈希表+双向链表 [labuladong-刷题打卡 day9]

今天的知识点LRU缓存机制的实现。学过计组都知道LRU算法(least recently used 最近最少使用算法)是资源管理中的常用算法。那么他是如何实现的呢? [LRU原理和Redis实现](https://zhuanlan.zhihu.com/p/34133067) [146. LRU 缓存 ......
双向 labuladong 机制 day9 LRU

MATLAB用改进K-Means(K-均值)聚类算法数据挖掘高校学生的期末考试成绩|附代码数据

全文链接:http://tecdat.cn/?p=30832 最近我们被客户要求撰写关于K-Means(K-均值)聚类算法的研究报告,包括一些图形和统计输出。 本文首先阐明了聚类算法的基本概念,介绍了几种比较典型的聚类算法,然后重点阐述了K-均值算法的基本思想,对K-均值算法的优缺点做了分析,回顾了 ......
均值 数据 数据挖掘 算法 成绩

LeetCode从算法到算命—1749.任意子数组和的绝对值的最大值

# 1749.任意子数组和的绝对值的最大值 ## 题目信息 给你一个整数数组 `nums` 。一个子数组 `[numsl, numsl+1, ..., numsr-1, numsr]` 的 **和的绝对值** 为 `abs(numsl + numsl+1 + ... + numsr-1 + nums ......
绝对值 最大值 数组 算法 LeetCode

使用golang解决LeetCode热题Hot100(1-10)

# 使用golang解决LeetCode热题Hot100 ## 1.两数之和 ### https://leetcode.cn/problems/two-sum/ #### 题目 给定一个整数数组 `nums` 和一个整数目标值 `target`,请你在该数组中找出 **和为目标值** *`targe ......
LeetCode golang Hot 100 10

最短路算法大全(Bellman-Ford &Spfa)

# Bellman-Ford算法 1、基于松弛操作的***单源最短路算法***,针对于有向图、 2、e[u]存u点的出边的邻点和边权,d[u]存u点到原点的距离 3、初始化,d[s] = 0,d[其他点]=INF (源点到本身的距离初始化为0到其他点的距离都初始化为无穷) 4、执行多轮操作。每轮操作 ......
Bellman-Ford 算法 Bellman 大全 Ford

day01 - 数组

704. 二分查找 class Solution { public: int search(vector<int>& nums, int target) { int left = 0; int right = nums.size() - 1; int middle = 0; while(left < ......
数组 day 01

Leetcode刷题记录本

# Leetcode刷题记录本 ### ID: 1 点击查看代码 1. 暴力破解法 ```python class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: in ......
Leetcode

非对称加密算法

非对称加密算法是一种使用公钥和私钥配对的加密算法,也称为公钥加密算法.常见的非对称加密算法包括 RSA、DSA 等,它们遵循 公钥分发、私钥保密规则,也就是说公钥是公开的,可以自由分发给其他人.而私钥是保密的,只有私钥的持有者知道.这样可以确保加密和签名的安全性,因为即使公钥被泄露,也无法对数据进行 ......
算法

Day01

# MarkDown 学习 ## 二级标题 ### 三级标题 #### 四级标题 ## 字体 **Hello World!** *Hello World!* ***Hello World!*** ~~Hello World!~~ ## 引用 > 人生有梦,各自精彩 ## 分割线 *** ## 图片 ......
Day 01

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

# 四、如何修改 QUICKSORT,使得它能够以非递增序进行排序? ## 文心一言: 快速排序(Quicksort)是一种常用的排序算法,基于分治策略进行设计。默认情况下,快速排序会以递增序进行排序。若想修改快速排序以实现非递增排序,我们需要调整比较和交换的逻辑。 以下是修改后的非递增快速排序的 ......
文心 导论 算法 chatgpt VS

堆优化模拟退火(List-Based Simulated Annealing|List-Based SA|LBSA|模拟退火) 算法

# 堆优化模拟退火(List-Based Simulated Annealing) 算法 ## 引入 堆优化模拟退火(List-Based Simulated Annealing,简称 LBSA) 是一种对 [模拟退火](https://oi-wiki.org/misc/simulated-anne ......
List-Based Based List 算法 Annealing

算法

原码、反码、补码 1.正数 原码 = 反码 = 补码 2.负数 反码 = 原码符号位,外按位取反 补码 = 反码 + 1 3. 计算机存储的是补码,解决了原码中 0 有 0000-0000 和 1000-0000 的问题 ......
算法