算法leetcode day 30

【算法】《算法图解》简单小结

算法基础 第1章 算法简介 第2章 选择排序 第3章 递归 基本算法 第4章 快速排序 第5章 散列表 第6章 广度优先搜索 第7章 狄克斯特拉算法 第8章 贪婪算法 第9章 动态规划 进阶算法 第10章 K最近邻算法 第11章 接下来如何做 TBD ......
算法 小结

圆拟合算法

参考转自 https://people.cas.uab.edu/~mosya/cl/CPPcircle.html Geometric circle fits Algebraic circle fits Levenberg-Marquardt fit in the "full" (a,b,R) spa ......
算法

11.1算法

递增的三元子序列给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。 示例 1: 输入: ......
算法 11.1 11

GC的算法和实现理解

对于垃圾回收回收的基本概念 基本单元: 对象(个体基础单元)包括两个部分。head(头),field(域)。 head里核心内容:对象大小,对象种类。 field里主要分两种:指针,非指针。 mutator某种意义上就是实体应用本身,主要进行两个事情创建对象,更新指针。(gc就是为他擦屁股的,帮他处 ......
算法

Python学习笔记(一)蒙特卡罗算法求圆周率π

绪论 \(\pi\)(圆周率)是数学和物理学普遍存在的常数之一,可以被定义为圆周长和直径之比或者圆的面积与半径平方之比(\(l=2\pi r\)和\(S=\pi r^2\))。\(\pi\)是一个无理数,下面将用蒙特卡罗算法求\(\pi\)的数值近似。 要求 1.要求能算到小数点后面越多越好‪‬‪‬ ......
圆周率 圆周 算法 笔记 Python

「Log」做题记录 2023.10.30-

\(2023.10.30-2023.11.1\) \(\color{blueviolet}{AT\_abc285\_g}\) 神秘题。 网络流是显著的,建边方式如下: 所有边容量都为 \(1\)。 每个点拆为入点和出点,\(S\) 向入点连边,出点向 \(T\) 连边。 1 的入点向出点连边。 2 ......
2023 Log 10 30

贪心算法之找零钱

def greedy_change(amount, coins): coins.sort(reverse=True) # 将硬币按面额从大到小排序 change = [] for coin in coins: while amount >= coin: amount -= coin change.a ......
算法

LeetCode239.滑动窗口最大值

题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值 。 示例 提交的代码 import java.util.Deque; import java.util.L ......
最大值 LeetCode 239

[LeetCode] 2574. Left and Right Sum Differences

Given a 0-indexed integer array nums, find a 0-indexed integer array answer where: answer.length == nums.length. answer[i] = |leftSum[i] - rightSum[i] ......
Differences LeetCode Right 2574 Left

prim算法

prim—最小生成树 模板—最小生成树 int n,m,s; int ne[N],h[N],idx,e[N],wt[N];//wt[]表示边权 void add(int u,int v,int w) //链式前向星存图 { idx++; e[idx]=v; wt[idx]=w; //边权 ne[id ......
算法 prim

英语 day01

英语四级长篇阅读技巧(段落匹配) 做题顺序 1.先看选项 先勾画前五个选项的关键词,读一遍前五个 再勾画后五个选项的,读一遍后五个 最后读整个选项部分,大脑有印象 2.看文章段落 1.在段落中寻找关键词句,并在选项中找到匹配的关键词,即可选 2.若一个段落有多个关键词、并且可与多个选项的关键词对应, ......
day 01

算法常见题型

1. 跳跃问题(贪心): 给定一个非负整数数组,初始位于第一个位置,输出调到最后一个位置的最短步数,跳不出来则输出-1。 let nums = [4,3,1,0,2,2,3,2,0,4] console.log(jumpStep(nums)) function jumpStep(nums) { le ......
题型 算法 常见

1020. 【软件认证】任务调度算法

题目描述 某分布式任务调度系统有 taskNum 个任务(编号从 1 到 taskNum)需要调度,调度策略: 任务之间可能存在依赖关系,且无循环依赖,如任务1 依赖任务2,那么要等待任务2执行完才能执行任务1; 如果任务之间没有依赖关系,则可以并发执行(假设并发所需资源是充足的)。 现给出任务间的 ......
算法 任务 软件 1020

每日总结10.30

今天是充实而多样化的一天,上午的工程实训让我体验到了一项实际的工作任务,但也让我感到相当劳累。锯铁片花费了我整整两个小时,这不仅锻炼了我的体力,也培养了耐心和解决问题的能力。这个经历教会了我不仅要有技术,还要有毅力和决心来应对挑战。下午的Java考试揭示了我在这门课程中的不足之处。这是一个宝贵的机会 ......
10.30 10 30

最短路2 Bellman-ford算法 (10/31)

struct Edge//存放边 { int a,b,w; }edges[M]; edges[i]={a,b,w}; //结构体经典赋值方式#include<iostream> #include<cstring> #include<algorithm> using namespace std; co ......
Bellman-ford 算法 Bellman ford 10

LeetCode150.逆波兰表达式求值

题目描述 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 示例 提交的代码 import java.util.Deque; import java.util.LinkedList; class Solution { ......
表达式 LeetCode 150

LeetCode1047.删除字符串中的所有相邻重复项

题目描述 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例 提交的代码 import java.util.Deque; import java ......
字符串 字符 LeetCode 1047

二分查找算法题1

/** * https://leetcode.cn/problems/sqrtx/description/ * 二分查找 * 将数据分成两部分 * 第一部分为平方小于等于target * 另外的为大于target * left=mid。right=mid-1;使用+1求中 * */ public s ......
算法

每日总结-23.10.30

今天完成关于hadoop中spark的安装和使用 教程地址:https://dblab.xmu.edu.cn/blog/4322/ https://blog.csdn.net/qq_53336526/article/details/131717423 由于之前安装的hadoop版本为2.7.5,因此 ......
23 10 30

day06-列表

列表 (List) 是一种有序、可变且允许重复元素的数据结构 列表中的每个元素均会分配一个数字,用以记录位置,我们称之为 索引 (Indexes),索引值从 0 开始,依次往后计数。 列表使用中括号[ ] ,元素之间使用逗号, 分隔,其元素可以是数字、字符串、列表等其他任何数据类型。 1、创建列表 ......
day 06

Python46days

属性选择器 通过标签的属性来查找标签,标签都有属性 <div class="c1" id="d1"></div> id值和class值是每个标签都自带的属性还有一种自定义属性 <div class="c1" id="d1" username='kevin' password='123'></div> ......
Python days 46

算法【ZAB 优先级的民主投票】

一、简介 ZAB(ZooKeeper Atomic Broadcast)算法是ZooKeeper为实现分布式协调而设计的,它是对Raft选主算法的一种改进,在拥有投票选举的维度下增加节点ID以及数据ID(数据的最新值)为参考。 二、说明 2.1、ZAB算法有3种角色: Leader:主节点 Obse ......
优先级 算法 ZAB

算法【Raft 投票】

一、简介 Raft算法属于典型的多数派选主算法,谁获得的票数最多,谁就可以成为主节点。 二、说明 Raft算法选主中集群各个节点的角色有3种: Leader:主节点,同一时刻只有一个Leader节点,负责整个集群的节点间的协调和管理。 Candidate: 候选节点,只有角色为候选者的节点才可以被选 ......
算法 Raft

文心一言 VS 讯飞星火 VS chatgpt (125)-- 算法导论10.6 6题

六、用go语言,任意有根树的左孩子右兄弟表示法中每个结点用到三个指针: leftchild、rightsibling 和parent。对于任何结点,都可以在常数时间到达其父结点,并在与其孩子数呈线性关系的时间内到达所有孩子结点。说明如何在每个结点中只使用两个指针和一个布尔值的情况下,使结点的父结点或 ......
文心 导论 算法 chatgpt VS

算法【bully 霸道算法】

一、简介 bully算法,也叫霸道算法。遵循谁拳头大谁当老大原则,即集群中节点ID值最大的那个则会被选为主节点。 二、说明 bully算法在选主过程中,会涉及到以下三种消息: bully算法底层选主流程图: 【触发选主时机】 2.1、错误节点恢复。 2.2、检测到master节点发生故障,如上图: ......
算法 bully

10.30复盘及波浪理论

1.为什么2923是历史市场大底 波浪理论中,c浪的下跌要大于A浪的下跌 采用黄金分割点的玄学来看,c浪应该是A浪的1.382或者1.618 事实证明确实是A浪的1.382 2.波浪理论的核心 形态 比例 时间 说明: 形态对应了下跌ABC浪 比例对应了c浪是a浪的1.382 时间从图例相对 高点下 ......
波浪 理论 10.30 10 30

Aho-Corasick DoubleArrayTire 算法 ACDAT - 基于双数组字典树的AC自动机

双数组字典树能在O(1)(1是模式串长度)时间内高速完成单串匹配,并且内存消耗可控,然而软肋在于多模式匹配。如果要匹配多个模式串,必须先实现前缀查询,然后频繁截取文本后缀才可多匹配。比如 ushers、shers、hers…这样一份文本要回退扫描多遍,性能较低。既然 AC 自动机的goto表本身就是 ......

从CAP理论到Raft算法

什么是分布式系统 分布式系统是支持分布式处理的软件系统,是由通信网络互联的多处理机体系结构上执行任务的系统。 一个业务拆分为多个子业务,落地成不同的服务,将各个服务部署在不同的容器上。各个服务之间通过某种协议通信交互。 好处是有更好的可靠性,可扩展性,但也带来了一致性问题。所以碰到分布式系统,主要就 ......
算法 理论 Raft CAP

redis + lua 限流 算法 滑动窗口 漏桶 令牌桶

redis + lua 限流 算法 滑动窗口 漏桶 令牌桶 /** * @Author liyichuan * @Date 2023/10/31 9:50 */ @Data public class RateLimiterHandle { /** * 补给率 */ private double re ......
令牌 算法 redis lua

[Leetcode] 0111. 二叉树的最小深度

111. 二叉树的最小深度 题目描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:2 示例 2: 输入:root = [2,nu ......
深度 Leetcode 0111