算法leetcode day 30

LeetCode 双周赛 107(2023/06/24)滑动窗口与离散化

> **本文已收录到 [AndroidFamily](https://github.com/pengxurui/AndroidFamily),技术和职场问题,请关注公众号 [彭旭锐] 和 [BaguTree Pro] 知识星球提问。** - 往期回顾:[LeetCode 单周赛第 348 场 · 数 ......
LeetCode 2023 107 06 24

【Leetcode每日一题】判定是否互为字符重排

题目 思路 思路比较简单,作两个长度为26的数组,用来存储对应序列字母的个数。遍历完成后对比两个数组,根据是否存在相同序列位置字母个数不一样的情况来确定两个字符串是否都是由相同的字母构成的。 值得一提的是在一开始我忽略了“字母个数必须相同”这一条件。 代码 impl Solution { pub f ......
字符 Leetcode

基于Logistic混沌序列的图像加解密算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 基于logistic混沌序列的图像加解密算法是一种基于混沌理论的加密算法,它通过混沌序列生成的随机数来改变图像的像素值,从而达到加密的目的。本文将详细介绍基于logistic混沌序列的图像加解密算法。混沌理论是指一类非 ......
序列 算法 Logistic 图像 matlab

m基于多属性决策判决算法的异构网络垂直切换matlab性能仿真,对比网络吞吐量,网络负载,平均切换次数,阻塞率,回报值

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 异构网络垂直切换是指在不同的移动通信网络之间进行快速自适应切换的技术。在异构网络中,不同类型的网络可能具有不同的带宽、延迟、信号强度等性能指标,因此在不同的应用场景下,需要采用不同的网络来实现最佳的通信效果。异构网络垂 ......
阻塞率 网络 吞吐量 算法 属性

R语言K-Means(K均值聚类)和层次聚类算法对微博用户特征数据研究

全文链接:https://tecdat.cn/?p=32955 原文出处:拓端数据部落公众号 本文就将采用K-means算法和层次聚类对基于用户特征的微博数据帮助客户进行聚类分析。首先对聚类分析作系统介绍。其次对聚类算法进行文献回顾,对其概况、基本思想、算法进行详细介绍,再是通过一个仿真实验具体来强 ......
均值 算法 层次 特征 K-Means

回溯算法

回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案。 **回溯法解决的问题** 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题:N个数按一定规则全排列,有几种排列方式 棋盘问题:N皇后,解数 ......
算法

对算法的一些理解

主要的算法思路有这几个: 1、穷举 2、动态规划 3、分治 4、贪心 5、回溯 6、分支限界 这些算法思路之间是有区别和联系的。但是,很多文章没有把他们的区别和联系讲出来,这里尝试梳理一下。 穷举是最朴素、最原始的思路。穷举就是把所有的可能一个一个列举出来,逐个分析后,再合并分析后的结果。 但是,如 ......
算法

AES算法

## 1.前言 对接资方的时候用到了AES加密算法,之前经常用但是没好好梳理一下,这次有空就简单梳理一下,方面日后整理学习。 AES是加密算法其中的一种,它是属于**对称加密**,对称加密的意思就是,加密以及解密用的都是同一个Key。相比于非对称加密RSA,SM2等,它的优点就是快。 为了了解AES ......
算法 AES

最短路算法

[toc] # 最短路算法 ## 单源最短路-迪杰斯特拉算法 用于计算一个节点到其他所有节点的最短路径 **Dijkstra 算法**是贪心算法, 是一种求解非负权图上单源最短路径的算法。 基本思想是:设置一个顶点的集合S,并不断地扩充这个集合,当且仅当从源点到某个点的路径已求出时它才属于集合S。开 ......
算法

文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题

# 五、一个已排好序的数组是一个最小堆吗? ## 文心一言: 一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点 x,其父节点 y 的值都小于等于 x 的值。而一个已排好序的数组只是一个有序数组,它满足任意的元素都是按从小到大的顺序排列的,但并不一定满足最小 ......
文心 导论 算法 chatgpt VS

Java基础-Day02

## Java基础-Day02 ## 运算符 - 算法运算符 ![](https://img2023.cnblogs.com/blog/2779111/202306/2779111-20230625172550208-2015687834.png) ​ - 赋值运算符 ![](https://img ......
基础 Java Day 02

24.贪心算法.

贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 请看下面案例,假设有如下课程,希望尽可能多的将课程安排在一间教室里: | 课程 | 开始时间 | 结束时间 | | : : | : : | : : | | 美术 ......
算法 24

Go 语言并发编程之 singleflight 库和归并回源算法的使用

在并发编程中,重复执行相同操作可能会浪费计算资源和时间,导致重复的网络请求,甚至产生不一致的结果。为了解决这些问题,Go 语言提供了一个名为 singleflight 的同步库和归并回源算法,它们可以避免重复执行相同操作,提高程序的性能和可靠性。 singleflight 库提供了一个 Group ......
singleflight 算法 语言 Go

3.数据结构与算法复习--线性表

#线性表的定义和特点 **线性表是**具有相同特性的数据元素的一个有限序列 (a1,a2,..ai-1,ai,ai+1,...an) a1:线性起点 ai-1为ai的直接前驱,ai+1为ai的直接后驱 an为线性终点,当n=0时称为空表 * 线性表 ![](https://img2023.cnblo ......
数据结构 线性 算法 结构 数据

【前端算法学习】利用“栈”数据结构,解决简单算法

## 第一题 | LeetCode | 力扣 | 难度 | | : : | : : | :--: | | 20.Valid Parentheses. | 20. 有效的括号 | 简单 | ### 题目描述 给定一个只包括 `'('`,`')'`,`'{'`,`'}'`,`'['`,`']'` 的字符 ......
算法 数据结构 前端 结构 数据

【前端算法学习】数据结构之“队列”

## 回顾 上一章,我们学习了“栈”这个数据结构,我们在JS中可以用`push()`和`pop()`来模拟入栈和出栈。 这一章我们将学习“队列”这个数据结构,同时我们也会使用JS代码来介绍、模拟实现队列的操作。 ## 什么是队列 队列与我们上一章学习的栈十分相似;但是与栈不同的是,队列遵循FIFO( ......
数据结构 队列 前端 算法 结构

二叉树-快排-leetcode912

给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 提示: 1 = hi) { return; } // 对 nums[lo.. ......
leetcode 912

基于多算法融合的啸叫抑制方案总结

前记 在对讲和本地扩音领域,啸叫抑制是一个无法绕过去的话题。怎么抑制啸叫是一个非常棘手的问题。笔者及团队在这个方向研究了好久。终于取得了一些阶段性的进展。这里做一下梳理。 心路历程 刚开始想依靠单纯的算法去解决。做了很多仿真,发现都不是很理想。不是抑制太狠了影响音质,就是太轻了没办法把啸叫抑制下去。 ......
算法 方案

python基础day31 面向对象

面向过程 在支持面向对象的语言中,都有两大范式:1. 面向过程;2. 面向对象 面向过程:核心就是过程二字,即是先干什么,再干什么,最后干什么,就是机械式的思维方式 举例: 把大象放进冰箱需要几步? 1. 把冰箱门打开 2. 把大象放进去 3. 关上冰箱门代码案例:实现面向过程的例子以注册功能为例: ......
对象 基础 python day 31

[Leetcode] 0026. 删除有序数组中的重复项

# [26. 删除有序数组中的重复项](https://leetcode.cn/problems/remove-duplicates-from-sorted-array) 点击上方,跳转至Leetcode ## 题目描述 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个 ......
数组 Leetcode 0026

[Leetcode] 0026.删除有序数组中的重复项

# [26. 删除有序数组中的重复项](https://leetcode.cn/problems/remove-duplicates-from-sorted-array) [English Version](/solution/0000-0099/0026.Remove%20Duplicates%2 ......
数组 Leetcode 0026

「JOISC 2020 Day2」遗迹

# 「JOISC 2020 Day2」遗迹 ## 题目大意: 给定长度为 $2n$ 的序列 $h_i$,满足对于所有 $k \in [1,n]$,均存在两个 $i$ 满足 $h_i = k$,定义“地震”为如下操作: - 对于所有 $i \in [1,2n]$,当且仅当 $h_i > 0$ 且对于所 ......
遗迹 JOISC 2020 Day2 Day

[Leetcode] 0021. 合并两个有序链表

# [21. 合并两个有序链表](https://leetcode.cn/problems/merge-two-sorted-lists) 点击上方,跳转至Leetcode ## 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: ......
Leetcode 两个 0021

【算法】罗马数字与整型数字转换,数值范围1-4000

编写两个函数,将罗马数字与整数值进行转换。每个函数将测试多个罗马数字值。 现代罗马数字是通过从最左边的数字开始分别表示每个数字,并跳过任何值为零的数字来书写的。在罗马数字1990中,表示为:1000=M,900=CM,90=XC;从而产生MCMXC。2008被写成2000=MM,8=VIII;或MM ......
数字 数值 算法 范围 4000

反向传播算法的理解

反向传播算法--求偏导速度大大提升(一次求解) https://zhuanlan.zhihu.com/p/25081671 1 用计算图来解释几种求导方法: 1.1 计算图 式子 e=(a+b)∗(b+1) 可以用如下计算图表达: 令a=2,b=1则有: 所以上面的求导方法总结为一句话就是: 路径上 ......
算法

22.回溯算法

# 1.回溯的基本原理 在问题的解空间中,按深度优先遍历策略,从根节点出发搜索解空间树。算法搜索至解空间的任意一个节点时,先判断该节点是否包含问题的解。如果确定不包含,跳过对以该节点为根的子树的搜索,逐层向其祖先节点回溯,否则进入该子树,继续深度优先搜索。 回溯法解问题的所有解时,必须回溯到根节点, ......
算法 22

保护数据隐私:深入探索Golang中的SM4加密解密算法

确保网络请求数据传输的安全性、一致性和防篡改是至关重要的。通过结合对称加密和非对称加密的强大能力,我们可以实现高度安全的数据传输。对称加密提供了快速且高效的加密和解密过程,而非对称加密则保证了密钥的安全性。这种结合能够确保数据在传输过程中的保密性、完整性和可靠性,有效防止数据被篡改或窃取。无论是保护... ......
加密解密 算法 隐私 数据 Golang

macOS 配置算法(第四版)的开发环境

Java 环境配置 前往 Adoptium 下载他们预编译的 JDK 17(最新的 LTS 版本)的安装器,安装好之后,命令行执行 java -version,输出如下: openjdk version "17.0.7" 2023-04-18 OpenJDK Runtime Environment ......
算法 环境 macOS

English Vocabulary Day 1

# English Vocabulary Day 1 ## **vocabulary** ``` arduous ardent arctic architecture architect arch arboreal arbitrate arbitrary arable apaque aquatic ......
Vocabulary English Day

密码学概念科普(加密算法、数字签名、散列函数、HMAC)

## 密码散列函数 密码散列函数 (Cryptographic hash function),是一个单向函数,输入消息,输出摘要。主要特点是: - 只能根据消息计算摘要,很难根据摘要反推消息 - 改变消息,摘要一定会跟着改变 - 对于不同的消息,计算出的摘要几乎不可能相同 根据散列函数的上述特点,可 ......
密码学 数字签名 科普 算法 函数