算法leetcode day 513

KMP算法

1.暴力匹配 暴力匹配算法的步骤如下: 遍历主串中的每个可能的起始位置,从第一个字符开始。 对于每个起始位置,逐个比较主串和模式串中对应位置的字符。 如果发现不匹配的字符,即主串和模式串中对应位置的字符不相等,将模式串向右移动一个位置,继续比较。 如果模式串完全匹配主串中的一段子串,即模式串的每个字 ......
算法 KMP

day 17 atm项目 充值函数

from atm.lib_common.file_handle import * def money_recharge(username,money_recharge): """输入用户名 充值函数""" user_pwd_money = file_r(r"F:\pylearn\atm\api\账户 ......
函数 项目 day atm 17

网络流最大流Dinic算法

感谢董晓老师:博客,b站 /* Dinic算法的思路是,用bfs进行分层,限制后面dfs每次的搜索深度, 并且,在dfs的过程中,直接把当前这个路走到u的容量限制分给u的各个出边 */ #include <iostream> #include <algorithm> #include <cstrin ......
算法 Dinic 网络

杂算法

update on 2023.11.17 NOIP前来复习板子,发现KMP整理的不是很到位,所以更新详细一些。 模板题 抽象的blog 浅显易懂的讲解视频:(dalao讲得太好了\(%%%\)) 备用网址 \(kmp\)(字符串匹配)的概念: 主串:被匹配的字符串 模式串:匹配的串 最长前后缀:一个 ......
算法

二分——acwing算法基础课笔记

个人笔记,欢迎补充、指正。 此次完全以个人理解来写。 整数二分 整数二分有两种,分别是找左边界和找右边界。 寻找符合要求的左边界:绿色点 int bsearch_1(int l, int r) { while (l < r) { int mid = l + r >> 1;//对应下界,最左 if ( ......
基础课 算法 基础 笔记 acwing

数据结构与算法----------3

队列 队列也是一种受限制的线性表,只能在一端进行插入,在另一端进行删除。 当然也有一种特殊的队列,名叫双端队列,也就是一段既可以插入也可以删除,在另一端也可以插入和删除。这就是双端队列。 队列的顺序实现(非环形数组) 代码实现 //队列的顺序实现(非环形数组) #define _CRT_SECURE ......
数据结构 算法 结构 数据

数据结构与算法---------2

栈 栈是一个具有一定操作约束的线性表,只能在一端(栈顶,top)做插入和删除。 栈的顺序实现 //栈的顺序实现 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #in ......
数据结构 算法 结构 数据

React diff 算法详解

代码参照 React 16.13.1 什么是 Diff 在render阶段的beginWork函数中,会将上次更新产生的 Fiber 节点与本次更新的 JSX 对象(对应ClassComponent的this.render方法返回值,或者FunctionComponent执行的返回值)进行比较。根据 ......
算法 React diff

Vue3 diff算法详解

Diff 更新算法 由于目前Vue3对于性能的优化做了很多的处理,所以其在更新时并不会对所有的节点都进行diff更新。目前会进行diff更新的有以下两种情况: v-for容器节点 自写的render()函数 还有一种特殊情况会进行无diff的按序更新,这种更新是全替换模式,非常耗时: 无key值的v ......
算法 Vue3 diff Vue

Vue2 的 diff 算法详解

所谓 diff 算法,就是通过比对新旧两个虚拟节点不一样的地方,针对那些不一样的地方进行新增或更新或删除操作。接下来详细介绍节点更新的过程。 首先进行静态节点处理,判断新旧两个虚拟节点是否是静态节点,如果是,就不需要进行更新操作,可以直接跳过更新比对的过程 。 再更新处理新老节点的属性,获取新老节点 ......
算法 Vue2 diff Vue

[LeetCode Hot 100] LeetCode295. 数据流的中位数

题目描述 思路:一个大根堆+一个小根堆+保持数量 一个大根堆用来记录数轴左边的数值 一个小根堆用来记录数轴右边的数值 大根堆的容量要么等于小根堆的容量(此时是偶数个有序整数列表),要么大根堆的容量比小根堆的容量大1(此时是奇数个有序整数列表) 如果数量不符合上述条件,则将超过容量的那个堆的堆顶元素插 ......
LeetCode 中位数 数据流 数据 Hot

[LeetCode Hot 100] LeetCode215. 数组中的第K个最大元素

题目描述 思路:小顶堆 维护一个大小为K的小顶堆 遍历所有元素: 如果当前堆中元素个数小于K,则将元素添加到堆中 如果当前堆中元素个数等于K,则判断第K + 1 方法一: class Solution { public int findKthLargest(int[] nums, int k) { ......
LeetCode 数组 元素 Hot 100

LeetCode刷题记录

LeetCode刷题记录 目录LeetCode刷题记录88. 合并两个有序数组题目解题思路代码实现测试用例27. 移除元素题目解题思路代码实现测试用例26.删除有序数组中的重复项题目解题思路代码实现测试用例80. 删除有序数组中的重复项 II题目解题思路代码实现测试用例169. 多数元素题目解题思路 ......
LeetCode

day16 atmx项目 register logging file_handle

register.py from atm.lib_common.file_handle import * def register_username_pwd(): """注册账户密码""" username=input("请输入你注册的用户名:>>>") pwd=input("请输入你的注册密码:> ......
file_handle register logging 项目 handle

[LeetCode Hot 100] LeetCode347. 前K个高频元素

题目描述 思路:小顶堆 首先遍历整个数组,并是用哈希表记录每个数字出现的次数,并形成一个"出现次数数组"。 找出原数组的前k个高频元素,就相当于找出"出现次数数组"的前K大的值。 建立一个小顶堆,然后遍历"出现次数数组" 如果堆的元素个数小于k,就可以直接插入堆中。 如果堆的元素个数等于k,则检查堆 ......
LeetCode 元素 Hot 100 347

day17 模块基础

day17开始2023年12月8日 周五 14:16:52 time模块:import time时间戳:time.time() 从1970年开始过了多少秒格式化时间:time.strftime("%Y %m %d")结构化时间:time.localtime()睡眠:time.sleep split( ......
模块 基础 day 17

day10栈与队列

栈与队列理论基础 来源:第 5 章 栈与队列 - Hello 算法 (hello-algo.com) 代码随想录 (programmercarl.com) 提问: C++中stack 是容器么? 我们使用的stack是属于哪个版本的STL? 我们使用的STL中stack是如何实现的? stack 提 ......
队列 day 10

【Lidar】Python实现点云CSF布料滤波算法&提取地面点

这两天会持续更新一下Python处理点云数据的教程,大家可以点个关注。今天给大家分享一下点云的经典算法:CSF布料模拟算法。 ......
布料 算法 地面 Python Lidar

day06 谷歌pixel刷机

一. 谷歌Pixel相关-刷机 线上文档:https://zhuanlan.zhihu.com/p/598414059 Pixel手机相关内容: 刷机,官方包。 ROOT 集成charles证书 本节手把手带大家完成对自己新买的Piexl手机进行刷机(Pixel所有机型通用)。 刷机的意义: 以后手 ......
pixel day 06

文心一言 VS 讯飞星火 VS chatgpt (152)-- 算法导论12.2 8题

八、用go语言,证明:在一棵高度为 h 的二叉搜索树中,不论从哪个结点开始,k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(k+h)。 文心一言: 要证明在一棵高度为 h 的二叉搜索树中,不论从哪个结点开始,k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(k+h),我 ......
文心 导论 算法 chatgpt VS

【算法】【线性表】搜索旋转排序数组(无重复数据)

1 题目 给定一个有序数组,但是数组以某个元素作为支点进行了旋转(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值target进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。你可以假设数组中不存在重复的元素。 样例 1: 输入: 数组 = [ ......
数组 线性 算法 数据

JavaWeb - Day03 - Ajax、前端工程化、Element

01. Ajax-介绍 Ajax 概念:Asynchronous JavaScript And XML,异步的JavaScript和XML。 作用: 数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术 ......
前端 JavaWeb Element 工程 Ajax

[LeetCode] 1903. Largest Odd Number in String

You are given a string num, representing a large integer. Return the largest-valued odd integer (as a string) that is a non-empty substring of num, or ......
LeetCode Largest Number String 1903

Leetcode刷题day8-字符串.匹配项下标.重复字符串

KMP内容没看:明天面试完再看!!! https://programmercarl.com/0028.实现strStr.html#思路 28.找出字符串中第一个匹配项的下标 28. 找出字符串中第一个匹配项的下标 - 力扣(LeetCode) 给你两个字符串 haystack 和 needle ,请 ......
字符串 字符 下标 Leetcode day8

深度学习中前馈神经网络的认识以及损失函数,梯度下降的一些算法

1.前馈神经网络 前馈神经网络就是上次提到的网络模型的基础上它仅可以向前传播,往前传播应该有的权值w,不断提取特征 2.损失函数 损失函数是什么? 它是输入之后在隐藏层的传播过程中每一次数据传入对它预测结束之后都有一个预测值,这个预测值和真实得出来的结果有一定的误差,对这个误差进行拟合,需要用一些函 ......
神经网络 梯度 算法 函数 深度

day8、9字符串代码随想录

第四章 字符串 ● 344.反转字符串 ● 541. 反转字符串II ● 卡码网:54.替换数字 ● 151.翻转字符串里的单词 ● 卡码网:55.右旋转字符串 1 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的 ......
随想录 字符串 随想 字符 代码

day 02-1 快速上手

day 02 快速上手 1.编码 计算机中所有的数据本质上都是以0和1的组合来存储。 2.编程初体验 编码必须要保持:保存和打开一直,否则会乱码。 默认Python解释器是以 UTF-8 编码的形式打开文件。 建议:所有Python代码文件的都要以UTF-8编码保存和读取。 3.输出 print ( ......
day 02

Day22 Switch多选择结构

Switch多选择结构 多选择的除了if结构外 的另一个实现方式:Switch case语句(判断一个变量与一系列值中某个值是否相等,每个值称为一个分支) Switch语句中的变量可以是:byte, short, int 或者 char ​ 从Java SE7开始 Switch开始 支持字符串Str ......
结构 Switch Day 22

【LeetCode-中等-链表】两数相加

这是个关于链表的题目, 以前在C#中写代码时,对链表接触比较少,所以刚好接这个题目来更好的熟悉一下链表 题目大概是这样的,给你两个非空的链表,表示两个非负的整数. 它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字 =》 首先我们来理解这句话是什么意思 我们来看一个链表 1->5-> ......
LeetCode

算法【快速排序】

算法【快速排序】 快速排序。选择一个作为比较的元素,这里我们选择首元素,这个元素我叫他‘比较元素’;前后两个指针(其实是索引变量)同时往后和往前进行遍历,开头的指针遇到比‘比较元素’大的元素停下来(空循环体的循环即可实现),末尾的指针往前遍历,遇到比‘比较元素’小的元素停下来;两个元素都停止后,交换 ......
算法