算法 安全性 原理ripemd

算法基础之快速排序

quick_sort方法中如果 i=l,j=r 会死循环的分析 示例代码 void quick_sort(int a[],int l,int r){ if(l>=r) return; int i=l,j=r; //此处设置会导致死循环 int x = num[(l+r)>>1]; while(i<j ......
算法 基础

算法基础之二分查找

原题链接 二分查找中的mid+1和mid-1的问题 二分查找中的边界问题处理不好很容易导致死循环和计算错误的问题,以题目 数的范围为例。 题目大意 ​ 二分查找重复数第一次出现的位置和最后一次出现的位置。 数学含义 ​ 第一次位置即 找到 一个长度最大的 >=X 区间的 左边界 ​ 最后一次位置即 ......
算法 基础

算法训练day8 LeetCode 344

算法训练day8: LeetCode 344.541.151.剑指offer05.58. 344.反转字符串 题目 344. 反转字符串 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { public: void revers ......
算法 LeetCode day8 day 344

算法题——定义一个方法自己实现 toBinaryString 方法的效果,将一个十进制整数转成字符串表示的二进制

用除基取余法,不断地除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。 private static String toBinaryString(int number) { StringBuilder sb = new StringBuilder(); while (tru ......
方法 十进制 二进制 整数 字符串

常用算法模版

常用算法模版 今天学会在 https://godbolt.org/ 看汇编了。顺便卡了下常数,以及简单的(不是)压行。 快读 signed read() { signed num = 0, flag = 1; char ch = getchar(); for (; !isdigit(ch); ch ......
算法 模版 常用

算法题——实现类似parseInt的方法

Scanner sc = new Scanner(System.in);String str = "";while(true){ System.out.println("请输入"); String str1 = sc.nextLine(); if(str1.length() < 1 || str1. ......
算法 parseInt 方法

【算法】字符串

1 反转字符串 题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**、使用 O(1) 的额外空间解决这一问题。 1. 双指针 class Solution: def reverseString(se ......
字符串 算法 字符

【算法】哈希表

1 哈希表理论基础 1.1 哈希表 哈希表是根据关键码的值而直接进行访问的数据结构。一般哈希表都是用来快速判断一个元素是否出现集合里。 1.2 哈希函数 哈希函数如下图所示,通过hashCode把名字转化为数值,一般hashcode是通过特定编码方式,可以将其他数据格式转化为不同的数值。如果hash ......
算法

网络拥塞控制算法总结-PolyCC

字节跳动在SIGCOMM'23以Poster形式提交了一篇论文《PolyCC: Poly-Algorithmic Congestion Control》,试图将各种拥塞控制算法整合到一个统一的框架里。其理由是近40年来各种渠道发布的各种拥塞控制算法,没有一种算法能解决所有网络场景(不同的应用,不同的 ......
算法 PolyCC 网络

NIO圣经:一次穿透NIO、Selector、Epoll底层原理

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,完成职 ......
圣经 底层 NIO Selector 原理

JavaScript实现排序算法

目录前言排序算法冒泡排序选择排序插入排序归并排序快速排序计数排序基数排序 前言 排序算法是《数据结构与算法》中最基本的算法之一,本篇使用JavaScript语言实现各种常见排序算法。 排序算法 冒泡排序 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一 ......
算法 JavaScript

代码随想录算法训练营-动态规划-1|509. 斐波那契数、70. 爬楼梯

509. 斐波那契数 1 class Solution: 2 def fib(self, n: int) -> int: 3 if n <= 2: 4 return n 5 6 prev1, prev2 = 0, 1 7 for _ in range(2, n+1): 8 sum_value = p ......
随想录 训练营 随想 算法 楼梯

【算法】链表

1 链表理论基础 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的入口节点称为链表的头结点也就是head。 链表中的节点在内存中不是连续分布的 ,而是散乱分布在内存中的某地址 ......
算法

代码随想录算法训练营day17 | ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和

110.平衡二叉树 class Solution { public: int getHeight(TreeNode* node){ if(node == NULL) return 0; int leftHeight = getHeight(node->left); if(leftHeight == ......
随想录 之和 训练营 随想 算法

【算法】算法性能分析

1 时间复杂度 1.1 知识点 时间复杂度是一个函数,它定性描述该算法的运行时间。 通常会估算算法的操作单元数量来代表程序消耗的时间。假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示,随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称作为算法的渐近时间复杂度,简称时 ......
算法 性能分析 性能

基于DCT变换和huffman编码的语音压缩算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 语音是人类最重要、最有效、最常用和最方便的交换信息的形式,是人们思想疏通和情感交流的最主要途径。在实际的语音通信中,有些信道难以扩宽且质量很差;有些信道正被广泛使用,短期内难以更新;有些昂贵的信道,每压缩一个比特 ......
算法 语音 编码 huffman matlab

算法训练day17 LeetCode 110

算法训练day17 LeetCode 110.257.404 110平衡二叉树 题目 110. 平衡二叉树 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 当子树已经不平衡,直接返回-1.平衡则返回子数高度进行更高树间的高度比较 class Solution ......
算法 LeetCode day 110 17

《信息安全系统设计与实现》第三周学习笔记

一、程序设计语言中的必备要素和技能 一门程序设计语言中的必备要素和技能通常包括以下内容: 语法:掌握语言的语法规则,包括关键字、标识符、表达式、语句和注释等。 数据类型:例如整数、浮点数、字符串、布尔值等。 变量和赋值:变量可以存储和操作数据。编写代码需要声明变量、给变量赋值 运算符和表达式:利用表 ......
笔记 系统 信息

拓展欧几里得算法揭秘

最大公约数 更相减损术:\(\gcd(x,y)=\gcd(y-x,x)(x\leq y)\)。 设 \(\gcd(x,y)=k,\gcd(p,q)=1,x=kp,y=kq\)。 那么 \(\gcd(y-x,x)=\gcd(kq-kp,kp)=k\times\gcd(q-p,p)\)。 设 \(\gc ......
算法

算法训练day16 LeetCod 104

算法训练day16 LeetCod 104.111.222 104.二叉树的最大深度 题目 104. 二叉树的最大深度 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 递归采用后序的遍历顺序,在根节点处做高度数据的处理 class Solution { pu ......
算法 LeetCod day 104 16

半小时,了解kafka的工作原理

为什么需要消息队列 周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马上有女朋友了,竟然幸福的失眠了…… 第二天正常上着班,突然接到 ......
原理 小时 kafka

算法打卡|Day2 数组part02

Day1 数组part01 今日任务:数组理论基础,704. 二分查找,27. 移除元素 目录Day1 数组part01今日任务:数组理论基础,704. 二分查找,27. 移除元素Problem: 977. 有序数组的平方思路解题方法复杂度CodeProblem: 209. 长度最小的子数组思路解题 ......
数组 算法 Day2 part Day

计算机组成原理笔记(1)

0 课程概述 1. 什么是计算机组成原理 组成:计算机硬件系统的逻辑实现 原理:“一般的”,不依托任何具体机型 2. 课程内容 基本部件的结构和组织方式 基本运算的操作原理 基本部件和单元的设计思想 3. 教材 《计算机组成原理(第2版)》 唐朔飞 《计算机组织与设计:硬软件接口技术》 A.Patt ......
原理 计算机 笔记

nginx代理websocket请求原理 理解记录

最近遇见一个问题,在OpenEuler操作系统上,如果不主动开放端口白名单的话,就无法访问该端口。 然后我部署了一个服务,端口是5200。在这台机器上部署了一个nginx,通过nginx 80端口反向代理 5200端口。 然后再OpenEuler上开放80端口。 此时本地访问80端口,登录后正常的h ......
websocket 原理 nginx

k8s 自动扩缩容HPA原理及adapter配置详解

大家好,我是蓝胖子,都知道,k8s拥有自动扩缩容机制HPA,我们能够通过配置针对不同的扩缩容场景进行自动扩缩容,往往初学者在面对其中繁多配置的时候会学了又忘记,今天我将会以一种不同的视角,结合api server 请求 来探索这部分的配置,看完本篇,应该会对扩缩容这部分配置会有更深的理解。 自动扩缩 ......
原理 adapter k8s HPA k8

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

四、用go语言,对一个包含n个元素的集合,假设一个算法只使用比较来确定第i小的元素,证明:无需额外的比较操作,它也能找到第 i-1 小的元素和第 n-i大的元素。 文心一言: 在这个问题中,我们要使用一个称为"QuickSelect"的算法,这是一个用于在未排序的列表中查找第k小元素的算法。该算法基 ......
文心 导论 算法 chatgpt VS

Aho-Corasick 算法 AC自动机实现

敏感词过滤在社区发帖、网站检索、短信发送等场景下是很常见的需求,尤其是在高并发场景下如何实现敏感词过滤,都对过滤算法提出了更高的性能要求,Ahocorasick算法能够实现毫秒级的万字过滤匹配,能够很好的满足各种场景下的敏感词过滤需求。 Aho-Corasick算法通过将模式串预处理为确定有限状态自 ......
自动机 Aho-Corasick 算法 Corasick Aho

TSINGSEE视频AI智能分析技术:水泥厂安全生产智能监管解决方案

监管人员可以通过电子大屏、电视墙、电脑、手机等终端实时监控全厂区域,并及时查收异常告警信息。这样一来,可以快速发现违法违规事件,大大提高水泥厂管理工作的时效性。 ......

【转载】人人都能看懂的大模型原理(四)

四、 AIGC可控生成原理 本章我们将揭露AIGC的神秘面纱,解答AIGC和大模型的区别和关系。我们也将讨论open AI和其他大模型公司的关键区别点,为什么他们能够遥遥领先。本章试图从机器学习理论出发,对图像生成和文本生成建立统一的理论。本章诸多理论和观点均为作者原创,如有纰漏,请包含,也希望大家 ......
模型 人人 原理

【转载】人人都能看懂的大模型原理(三)

三、 多头注意力算子和transformer 如前文所述,我们已经发现了自监督学习特性,也发明了对应的代理任务,接下来我们需要发明一种具体的算子能够实现这种代理任务。在介绍self-attention之前,我们先介绍一下传统CNN和RNN方案是怎么来的,他们的理论依据是什么。他们的优点和短板是什么。 ......
模型 人人 原理