算法leetcode day 30

java-信息安全(二十)国密算法 SM1,SM2,SM3,SM4

一、概述 国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。 SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口 ......
SM 算法 信息 java SM1

快速幂算法

快速幂算法 设计一个算法计算$x^n$的值。 根据定义最常见也最能瞬间想到的是如下的算法: // 递归写法 public int pow1(int x, int n) { if (n == 0) return 1; if (n == 1) return x; return x * pow1(x, n ......
算法

算法-递归三(树形结构)

public class Solution { public IList<IList<int>> Permute(int[] nums) { var rtItem = new List<int>(); var visited= new Dictionary<int, bool>(); IList<I ......
树形 算法 结构

LeetCode 双周赛 101,DP/中心位贪心/裴蜀定理/Dijkstra/最小环

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 这周比较忙,上周末的双周赛题解现在才更新,虽迟但到哈。上周末这场是 LeetCode 第 101 场双周赛,整体有点难度,第 3 题似乎比第 4 题还难一些。 周赛大纲 2605. 从两个 ......
定理 LeetCode Dijkstra 101 DP

拥塞控制算法

典型拥塞控制算法思路 在互联网发展的过程当中,TCP 算法也做出了一定改变,先后演进了 Reno、NewReno、Cubic 和 Vegas,这些改进算法大体可以分为基于丢包和基于延时的拥塞控制算法。 基于丢包的拥塞控制算法以 Reno、NewReno 为代表,这类基于 AIMD 的算法只要未检测到 ......
算法

[CISCN 2019华北Day2]Web1

[CISCN 2019华北Day2]Web1 提示了flag表中有flag列,我们只能提交id 输入1和2都有文本输出,3的时候出现报错 输入1’#出现以下图片所示情况,说明应该存在过滤 我用fuzz跑一下,看一下哪些字符被过滤了 发现空格,or,order,union以及报错注入的相关字符都被过滤 ......
CISCN 2019 Day2 Web1 Day

day39(2023.4.8)

Java基础知识点: day11、了解了Java运行机制jdk和jre和jvm的区别2、下载安装jdk然后配置环境变量 并验证是否成功3、记事本写出第一个Java程序并编译 day2 1.使用idea完成第一个小程序2.学习了变量3.常量的声明4.八大基本数据类型之 整形5.浮点型的使用 day31 ......
2023 day 39

基于蛙跳算法的最优值计算matlab仿真

1.算法描述 蛙跳算法是基于种群进化的元启发式算法之一,通过模拟自然界中青蛙觅食过程中种群所体现出的交流与合作行为,以实现对问题的求解。在一片湿地中,分布着一群青蛙,每只青蛙有自己的想法,每只青蛙的想法则被定义为一个解。每只青蛙找到食物时,都会向其周围的青蛙传递信息,从而影响周围青蛙向其靠近,形成一 ......
蛙跳 算法 matlab

贪心算法

最小生成树 在无向图中选出$|V|-1$条边,使得生成树的边权和最小,这就是最小生成树问题。 我们有一个看上去有些草率的做法:给所有边按照权值从小到大排序,假设所有边都消失了,那么以从小到大的顺序加边(如果这条边对应的两点间已经有路径就跳过不加),等到加完第$|V|-1$条边时,我们会得到一棵“生成 ......
算法

C4.5分类树算法介绍

为什么C4.5会出现? 因为ID3算法节点的分支越多,信息增益也就越大,这会出现过拟合的现象,因此提出C4.5算法。 图1 C4.5的属性选择方法——获利比例 获利比例=信息增益/分支度IV 分支度IV与各分支下的类别数目之比成负相关: 假如14个样本一共分4支: 划分方法1为:分支1数目:分支2数 ......
算法 C4

理解回溯算法——从全排列问题开始

一、简介 回溯法(backtracking)是优先搜索的一种特殊情况,又称为试探法,常用于需要记录节点状态的深度优先搜索。通常来说,排列、组合、选择类问题使用回溯法比较方便。 二、从全排列问题开始理解回溯算法以数组 [1, 2, 3] 的全排列为例。 先写以 1开头的全排列,它们是:[1, 2, 3 ......
算法 问题

随机森林算法深入浅出

随机森林(Random Forest)是一种集成学习(Ensemble Learning)算法,由于其优秀的表现在数据挖掘、机器学习等领域得到广泛应用。随机森林通过同时使用多个决策树对数据集进行训练,并通过投票机制或平均化方式来得出最终的预测结果。本文将对随机森林算法的基本原理、优点和缺点以及实现过 ......
深入浅出 算法 森林

自学Python爬虫笔记(day4)

环境python3.9版本及以上,开发工具pycharm 今天是对requests模块的应用实战,分别是爬取豆瓣电影TOP250的基本信息和电影天堂“2023必看热片”的名称及下载地址。具体如下: '''爬取豆瓣电影TOP250的基本信息 思路: 1.拿到页面源代码 2.编写正则,提取页面数据 3. ......
爬虫 笔记 Python day4 day

【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(下)

承接上文 承接上一篇文章【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)】我们基本上对层级时间轮算法的基本原理有了一定的认识,本章节就从落地的角度进行分析和介绍如何通过Java进行实现一个属于我们自己的时间轮服务组件,最后,在 ......

leetcode杨辉三角

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 出处:leetcode 对于此题可以建立一个vector<vector<int>>,对外层开辟numRows行,对内层开辟从零开始每次加一个,并把头尾都置为一,然后根据 ......
杨辉三角 leetcode

2023年4月8日leetcode练习心得

给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 来源:力扣(LeetCode)链接:https://leetcode.cn/prob ......
leetcode 心得 2023

递归算法

递归算法 1. 何为递归 简而言之,就是方法自己调用自己,在每一次调用时传入不同的变量。递归有助于编程者在解决复杂问题的同时,让代码变得更加简洁。 2. 递归的应用场景 各种数学问题,eg.8皇后问题、汉诺塔、阶乘问题、迷宫问题、球和篮子的问题等; 各种算法中也经常用到递归的思想,eg.快排、归并排 ......
算法

HJ67_24点游戏算法_多维递归_DFS(深度优先搜索)

思路: 多维递归,深度有限遍历加减乘除四种情况。 知识点: 1、多维递归不能对传递的变量进行修改,否则无法回溯。 应该传递一个新地址的变量,如代码所示,传递切片的列表,不修改列表 2、搜索遗漏。两括号比如((9-4)-1)*6 选取任意一个数作为第一个运算数与24运算,不能找出所有24点的计算方法。 ......
算法 深度 DFS HJ 67

Tarjan 算法学习笔记

(绝大部分都是贺的,来自 OI-WIKI 和 洛谷题解 ,自己抄一遍印象深刻一点,部分代码未编译,不保证正确性,但大体是对的) 一、DFS 生成树 注意可能有多棵,因为图可能不联通。 树边(tree edge):示意图中以黑色边表示,每次搜索找到一个还没有访问过的结点的时候就形成了一条树边。 反祖边 ......
算法 笔记 Tarjan

Python 进阶指南(编程轻松进阶):十三、性能测量和大 O 算法分析

原文:http://inventwithpython.com/beyond/chapter13.html 对于大多数小程序来说,性能并不那么重要。我们可能会花一个小时编写一个脚本来自动执行一个只需要几秒钟就能运行的任务。即使需要更长的时间,当我们端着一杯咖啡回到办公桌时,这个项目也可能已经完成了。 ......
算法 性能 指南 Python

Chapter2 K-近邻算法案例1

案例2:使用K-近邻算法实现手写数字系统 1. 案例要求 编写一个程序,应用K-近邻算法,实现手写数字系统。 通过画图生成一个32*32的数字图像,再将图像转化为代表数字的0-1文本文件。之后往程序输入代表数字的0-1文本文件,程序便可以输出相应的数字。 2. 案例的执行流程 示例:使用k-近邻算法 ......
近邻 算法 Chapter2 案例 Chapter

20230408-Python-循环语句-day5

循环 4月7-8 Python 提供了 for 循环和 while 循环 | 循环类型 | 描述 | | : | | | while | 在给定的判断条件作为true是执行循环体,是否退出循环体 | | for | 重复执行语句 | 循环控制语句 | 控制语句 | 描述 | | | | | brea ......
语句 20230408 Python day5 day

Python学习——Day2

一、变量名的命名的大前提:应该能够反应出变量值所记录的状态 具体的变量名的命名规范如下: 1、变量名是由字母、数字、下划线组成 2、不能以数字开头 3、不能使用关键字命名变量名 一些常见的关键字:['and', 'as', 'assert', 'break', 'class', 'continue' ......
Python Day2 Day

算法C#

#region 二分查找法 public static int BinarySertch(int[] arr, int startIndex, int endIndex, int result) { if (startIndex > endIndex) { return -1; } int midI ......
算法

Leetcode(剑指offer专项训练)——DFS/BFS专项(1)

计算除法 题目 给定一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数 ......
专项 Leetcode offer DFS BFS

09、OpenFoam中的PISO,SIMPLE和PIMPLE算法

隐式:PISO 半隐式:SIMPLE 组合式:PIMPLE(PISO + SIMPLE) PISO算法 PISO算法是一种常用于求解不可压缩流体流动问题的数值方法,它在OpenFOAM中被广泛应用。PISO算法的全称为Pressure Implicit with Splitting of Opera ......
算法 OpenFoam PIMPLE SIMPLE PISO

LeetCode习题——在排序数组中查找元素的第一个和最后一个位置(二分查找)

在排序数组中查找元素的第一个和最后一个位置 力扣链接:在排序数组中查找元素的第一个和最后一个位置 题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须 ......
数组 习题 LeetCode 元素 位置

Chapter2 K-近邻算法案例

案例1:使用K-近邻算法分类爱情片和动作片 1. 案例要求 创建一个应用,应用K-近邻算法,将样本分到以下三种类别。 1. 不喜欢的人 2. 魅力一般的人 3. 极具魅力的人 2. 案例的执行流程 示例:在约会网站上使用k-近邻算法 (1)收集数据:提供文本文件。 (2)准备数据:使用Python解 ......
近邻 算法 Chapter2 案例 Chapter

day2

977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 class Solution { public: vector<int> sortedSquares(vector<int>& nums) { int low= ......
day2 day

Java-Day-6(类与对象)

Java-Day-6 类与对象 Java 最大特点:面向对象 ( OOP ) 类是抽象的、概念的,代表一类事物,即是种数据类型 对象是具体的,实际的,代表一个具体事物,即是实例 类是对象的模板 ( class XX { ... } ) 对象是类的一个个体,对应一个实例 ( XX xx = new X ......
Java-Day 对象 Java Day