算法leetcode day 30

位运算在排序算法中的运用

### 常规选择排序 ```javascript function selectSort(arr: Number[]) { //先排除一些不需要排序的情况 if (!arr || arr.length 现有N个数,除了唯一的一个数出现的次数是奇数,其他的均是出现了偶数次的数,现在请编程找出这个出现奇 ......
算法

Tarjan算法

## Tarjan算法与无向图连通性 ### 一、割点和桥的定义 给定一个无向连通图 $ G = (V,E) $ 若对于 $x \in V$ , 如果从图中删去节点 $x$ 以及与 $x$ 相连的边后,$ G $ 分裂成两个或者多个不相连的连通块,那么就说这个点是一个**割点**; 若对于 $e \ ......
算法 Tarjan

选择排序算法之泛型优化

选择排序算法 工作原理: 每一次从待排序的数据元素中选中最小的一个元素,然后,再从剩余未排序元素中继续寻找最小元素,将2个元素交换位置,就达到了已排序的元素一直是从小到大了。 这个算法的时间复杂度为O(n²),空间复杂度为O(1)。 /** * @Author: 翰林猿 * @Description ......
算法

代码随想录算法训练营第十五天|102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树

【参考链接】 102. 二叉树的层序遍历 【注意】 1.队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。 2.遍历的时候要记录队列的大小。就可以知道哪些元素是第几层的。 3.记得首先要判断 ......
随想录 训练营 随想 算法 代码

day 38 计算分数精度值

1.计算M/N,用数组储存计算中的中间值; 2.当中间值为0或数进入循环则结束计算; 3.输出; #include <iostream> using namespace std; void g(int m,int n){ int a[110],b[110]={0}; int t=0; while(m ......
精度 分数 day 38

day78(2023.5.25)

1.XML概述 2.XML基本语法 3.XML组成部分 4.约束_DTD约束 5.约束_Schema约束 6.Jsoup解析器_XML解析思想 7.Jsoup解析器_XML常见解析器 8.Jsoup解析器_Jsoup快速入门 运行结果: 9.Jsoup解析器_Jsoup 运行结果: 10.Jsoup ......
2023 day 78 25

day 2

上篇作业 name = "传智播客" stock_price = 19.99 stock_code = "003032" stock_price_daily_growth_factor = 1.2 growth_days = 7 finally_stock_price = stock_price * ......
day

PPO算法的一个简单实现:对话机器人

综上,PPO算法是一种具体的Actor-Critic算法实现,比如在对话机器人中,输入的prompt是state,输出的response是action,想要得到的策略就是怎么从prompt生成action能够得到最大的reward,也就是拟合人类的偏好。具体实现时,可以按如下两大步骤实现 首先定义4 ......
机器人 算法 机器 PPO

算法导论阅读记录

#### $\color{red}{不正确的算法如果其错误率可以被控制的情况下肯是很有用的}$ [动态图解排序算法](https://visualgo.net/zh/sorting) ### 插入排序 对少量元素的排序较为有效,每次选择一个待排序元素,依次与已排序集合比较 伪代码 ``` //从第2 ......
导论 算法

day106 - mvc三层架构

MVC三层架构 model view controller 作用 view:视图层,jsp 作用:展示数据,提供供我们操作的请求 controller 控制层,servlet 作用:接收用户请求,响应客户端内容交给业务层做,视图跳转(转发或者重定向给view层) model 模型层:service, ......
架构 day 106 mvc

python基础day11

文件内指针的移动 指针移动总共有三种模式 ''' f.seek(3,0) f.seek(offset,whence) whence: 0:默认的模式,该模式代表指针移动的字节数是以文件开头为参照的(支持tb模式) 1:该模式代表指针移动的字节数是以当前所在的位置为参照的(只用于字节模式) 2:该模式 ......
基础 python day 11

【安全学习之路】Day8

开搞开搞。 ![](https://img2023.cnblogs.com/blog/3073714/202305/3073714-20230525152232933-952633820.png) ![](https://img2023.cnblogs.com/blog/3073714/202305 ......
Day8 Day

#6029. 「雅礼集训 2017 Day1」市场 (线段树)

[传送门](https://loj.ac/p/6029) ``` #include using ll = long long; const int N = 1e5 + 10; const int MOD = 1e9 + 7; const ll INF = 0x3f3f3f3f3f3f3f3f * 2 ......
线段 市场 6029 2017 Day1

DAY13笔记及补充

今日默写: 1什么是程序2 Java的产生3 Java发展史4 Java技术平台种类5.JDK安装步骤6.Idea创建项目的步骤7.手写main函数 得分: 补充: 1.开发Java程序步骤: 项目(工程/project)->包(package)->类(class)->方法(())->运行测试 2. ......
笔记 DAY 13

三维装箱之遗传算法讲解

遗传算法 在达尔文提出来“物竞天择,适者生存”的生物进化理论的基础上,美国Michigan大学教授Jolm Holland在1975年作为第一个提出了基本遗传算法的概念,遗传算法实质上就是一种随机搜索类型的算法,又称random searchingalgorithms,这种算法所使用机制大致和生物自 ......
算法

非极大值抑制(NMS)算法详解

NMS(non maximum suppression)即非极大值抑制,广泛应用于传统的特征提取和深度学习的目标检测算法中。 NMS原理是通过筛选出局部极大值得到最优解。 在2维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化率较小的点筛选掉,避免造成干扰。 在三维关键点检测中也起到重要作用,筛选掉 ......
极大值 算法 NMS

哈希算法

哈希算法 哈希算法 哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希算法最重要的特点就是: 相同的输入一定得到相同的输出; 不同的输入大概率得到不同的输出。 哈希算法的目的就是为了验证原始数据是否被篡改。 Java字符串的h ......
算法

day 105 - javaBean

javaBean 是一种实体类 JavaBean有特定的写法 必须有一个无参构造 属性必须私有化 必须有对应的get,set方法 一般用来和数据库字段做映射:ORM ORM:对象关系映射 表-->类 字段-->属性 行记录-->对象 实现 创建数据库, 创建对应实体类 //实体类,和数据库中的表结构 ......
javaBean day 105

代码随想录Day8|字符串

主要是学了java的字符串用法,题目不是很难 使用 StringBuilder 类型可以节省时间,关于这个类型的添加和使用 char temp = sb.charAt(start); sb.setCharAt(start, sb.charAt(end)); sb.setCharAt(end, tem ......
随想录 字符串 随想 字符 代码

第六章.数据结构与算法基础(重点)

上午下午都会考,且难度最高 重点:线性表、树与二叉树、排序与查找、算法基础及常见算法 第一节.数组与稀疏矩阵 数组 主要考察一维二维数组存储地址的计算 一维数组存储地址计算:a+i*len;i为索引号,len是每个位置所占的内存大小 二维数组存储地址计算(分为按行优先和按列优先):如五行五列的二维数 ......
数据结构 算法 重点 结构 基础

[LeetCode] 2451. Odd String Difference

You are given an array of equal-length strings words. Assume that the length of each string is n. Each string words[i] can be converted into a differe ......
Difference LeetCode String 2451 Odd

day01【704. 二分查找,35.搜索插入位置 ,27. 移除元素 】

704. 二分查找 二分查找理论 二分查找是一个时间效率极高的算法,尤其是面对大量的数据时,其查找效率是极高,时间复杂度是log(n)。主要思想就是不断的对半折叠,每次查找都能除去一半的数据量,直到最后将所有不符合条件的结果都去除,只剩下一个符合条件的结果。 二分查找需要的条件 用于查找的内容逻辑上 ......
元素 位置 day 704 01

python如何利用算法解决业务上的【分单问题】

分单是很多企业日常工作中非常典型的一项内容,它非常复杂,但同时又极为重要,如何合理的分单是企业管理中一个很重要的课题。 之所以说分单很复杂,是因为影响单据该分给谁,分多少量这个事儿本身就有太多的影响因子;一旦管理者在分单的公平性上出现大的问题,厚此薄彼了,往大了讲,员工的做事积极性有可能都会被挫伤。 ......
算法 业务 python 问题

集中化日志管理平台的应用day04 暂时没用

4、项⽬实施 4.1 基本思路 从访问源头开始,按链路逐个写⼊⽇志,使⽤不同的⼿段,实现⽤户请求的各个点的⽇志收集 4.2 前端请求 4.2.1 概述 ⽬前项⽬多采⽤动静分离⽅式,静态⻚由nginx处理。那么nginx上的请求⽇志如何收集处理呢? 第⼀可以采⽤输出到log⽂件,fifilebeat采 ......
平台 日志 day 04

30

#include<iostream>using namespace std;int main(){long int a,b,c;cin>>a>>b;while(1){if(b%a){c=b/a+1;}else{c=b/a;a=1;}if(a==1){cout<<"1/"<<c;break;}else ......
30

每日一题 力扣 1377 https://leetcode.cn/problems/frog-position-after-t-seconds/

力扣 1377 https://leetcode.cn/problems/frog-position-after-t-seconds/ 这道题目用dp去做,构建邻接矩阵,做的时候需要注意题目条件,如果青蛙跳不动了,这个概率就保持不变了 一般跳青蛙,很容易想到dp 核心代码如下 public doub ......

各种排序算法的快速了解

冒泡排序 算法描述 重复地比较要排序的数列,一次比较两个元素,如果后者较小则与前者交换元素。 比较相邻的元素,如果前者比后者大,则交换两个元素。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 针对所有的元素重复以上的步骤,除了最后一个。 快速排序 快速排序算法通过多次比较和交换来实现 ......
算法

30.勾股数

#include<stdio.h>#include<math.h>int main(){ int a, b, c, count=0; printf("100以内的勾股数有:\n"); printf(" a b c a b c a b c a b c\n"); /*求100以内勾股数*/ for(a= ......
股数 30

【安全学习之路】Day7

ok,今天的笔记比较潦草,主要还是书快读完了,然后这里的安全开发的流程啥的不太感兴趣,草草略过。 到今天为止,《白帽子讲web安全》这本书也是读完了。虽然书中的内容很多都已经有些过时了,但一些常见的漏洞原理和利用手段还是讲到了。作者写的也引人入胜,让初识web的我对web安全也有了一定的认识。 。 ......
Day7 Day

MySQL学习基础篇Day9

6. 事务 6.1 事务简介 事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系 统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 就比如: 张三给李四转账1000块钱,张三银行账户的钱减少1000,而李四银行账户的钱要增加 1000。 这一组操作 ......
基础 MySQL Day9 Day