算法leetcode day 30
10.26算法
字母异位词分组给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"], ......
数据结构与算法 | 深搜(DFS)与广搜(BFS)
在查找二叉树某个节点时,如果把二叉树所有节点理理解为解空间,待找到那个节点理解为满足特定条件的解,对此解答可以抽象描述为: _在解空间中搜索满足特定条件的解_,这其实就是搜索算法(Search)的一种描述。当然也有其他描述,比如是“指一类用于在数据集合中查找特定项或解决问题的算法”,又或者是“指通过... ......
加密算法
1.加密算法的类图结构 2.源代码 2.1代码运行截图 2.2代码的目录结构 2.3具体代码 MethodFactory.java package jiami; public interface MethodFactory { public Method produceMethod(); } DES ......
LeetCode541.反转字符串Ⅱ
题目描述 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 示例 第一次提交的代码 clas ......
[LeetCode] 1169. Invalid Transactions
A transaction is possibly invalid if: the amount exceeds $1000, or; if it occurs within (and including) 60 minutes of another transaction with the sam ......
算法训练day41 509.70.746
算法训练day41 509.70.746 动态规划理论基础 什么是动态规划 每一状态由上一状态推导而来 解题步骤 确定dp数组(dp table)以及下标的含义 确定递推公式 dp数组如何初始化 确定遍历顺序 举例推导dp数组 debug: 打印dp数组,和预期比较 509. 斐波那契数 题目 50 ......
【安全学习之路】Day47
最近做一些crackme,感觉对内存里面程序数据的存储不是很熟练,再学学二进制方面的东西 ##C++二进制 编码规则 8位 S DDDDDDD 符号位 数据位 CPU擅长位运算和加运算 而乘法,将乘数拆开 将乘运算变成了位运算和加运算 。 除法中 A/C=A*(1/C)=A*(2N/C)*(1/2N ......
10.25算法
矩阵置零给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2: 输入:matrix = ......
体验electron day 2
按照昨天的教程。 https://www.electronjs.org/zh/docs/latest/tutorial/quick-start npm install --save-dev electron 进行到这一步,出问题了。无法安装成功。外网访问问题。 使用npm安装electron不成功的 ......
LeetCode15.三数之和
题目描述 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 注意:答 ......
使用BBP算法计算π,Python实现
BBP算法(Bailey-Borwein-Plouffe算法)是一种用于计算π的算法,它可以直接计算出π的十六进制表示的任意一位。BBP算法由Simon Plouffe于1995年提出,基于David Bailey和Peter Borwein在1995年的工作。 BBP算法的基本思想是使用级数展开, ......
leetcode-二叉树总结
此文总结一下leetcode二叉树部分的常见题型和知识点: 常用知识点整理: 1. 树的深度和高度: 树的深度是从根节点开始往叶子结点算,而树的高度是从叶子结点往根结点算。 2. 树的遍历的迭代写法: 树的遍历分为先/中/后序三种,递归写法较为简单,这里简单介绍一下迭代写法的套路。 迭代写法简单来说 ......
DataWhale DAY6 循环
DataWhale DAY6 循环 今天学习循环方面的知识。 语法部分:https://www.cnblogs.com/hewo/p/17635277.html 感觉 python 的 for 是真的像自然语言。 range: range(stop) # [0 , stop) range(sta ......
KMP算法【字符串搜索算法】
KMP算法 1. 算法核心 利用匹配失败后的信息 尽量减少模式串(B)与主串(A)的匹配次数 以达到快速匹配的目的 通过一个 next 数组,保存模式串(B)中 前后最长公共子序列的长度,每次回溯时,通过 next 数组找到,前面匹配过的位置,省去了大量的计算时间 2. 如何减少匹配次数 2.1. ......
[Leetcode] 0100. 相同的树
100. 相同的树 题目描述 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p = [1,2,3], q = [1,2,3] 输出:true 示例 2: 输入:p = [1,2], q ......
Python41days
创建表的完整语法 约束条件(在数据类型的基础上在进行约束) unsigned zerofill default not null unique primary key auto_increment 其余SQL语句 其他查询关键字 select from where order by limit ha ......
文心一言 VS 讯飞星火 VS chatgpt (120)-- 算法导论10.3 5题
五、用go语言,设 L 是一个长度为 n 的双向链表,存储于长度为 m 的数组key、prev 和next 中。假设这些数组由维护双链自由表 F的两个过程 ALLOCATE-OBJECT 和 FREE-OBJECT 进行管理。又假设 m 个元素中,恰有 n 个元素在链表 L 上,m-n 个在自由表上 ......
【学习笔记】Miller-Rabin 算法
费马小定理 当 \(p\) 为质数时,若 \(\gcd(a,p)=1\),则 \(a^{p-1}\equiv 1\pmod p\)。 但逆命题是错的,例如 \(p=561\) 这类卡迈克尔数,满足任何 \(\gcd(a,p)=1\) 都有 \(a^{p-1}\equiv 1\pmod p\)。所以用 ......
区块链与安全问题-精讲对等网络、共识算法、密码学算法
本博文转载自 天山老妖 的博客:http://blog.51cto.com/9291927 一、区块链密码安全技术简介 区块链和分布式账本中大量使用了密码学和安全技术的最新成果,特别是身份认证和隐私保护相关技术。区块链使用了包括Hash 算法与摘要、加密算法、数字签名和证书、PKI体系、Merkle ......
安防监控视频汇聚平台EasyCVR增加AI算法列表接口的实现方法
安防监控视频汇聚平台EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等功能。平台既具备传统安防监控的能力,也支持提供AI算力算法接入的能力。 今天我们来介绍下在EasyCVR ......
[Leetcode] 0094. 二叉树的中序遍历
94. 二叉树的中序遍历 题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 提示: 树中节点 ......
浅谈一些并行排序算法
对于普通的基于比较排序我们拥有一个复杂度下界 \(O(n\log n)\),然而如果我们允许并行计算的话,将得到一些复杂度更优秀的计算方法。 听到并行这个词许多人就会认为你有几个线程复杂度就除以几,所以线程堆得越多越好。但许多的算法问题都必须要满足你必须要算完 A 才能去计算 B,比如对于普通的前缀 ......
Day12
Java数组08:冒泡排序 Idea部分快捷键 /* main方法 psvm System.out.println("Hello,World!"); sout 复制 Ctrl+D 代码块向上移动:Ctrl+Shift+向上方向键 导包,生成变量 Alt+Enter 单行注释/取消 Ctrl+/ 多行 ......
贪心算法
顾名思义,贪心,即永远选择当下情况下最佳的结果,也就是所谓的局部最优解。该算法寄希望于局部最优解的堆积可以形成总体上的最优算法。 注意:可以使用反证法来判断贪心算法是否可以计算出最优路径。 注:大部分有限选择的情况都可以通过有限状态机解决。 ......
LeetCode Day13 239&347
//利用双端队列手动实现单调队列/** * 用一个单调队列来存储对应的下标,每当窗口滑动的时候,直接取队列的头部指针对应的值放入结果集即可 * 单调队列类似 (tail -->) 3 --> 2 --> 1 --> 0 (--> head) (右边为头结点,元素存的是下标) */ 239. 滑动窗口 ......
10.24算法
三数之和给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答 ......
【基础算法】- 贪心
贪心 定义 贪心算法适用于最优子结构问题。意思是问题在分解成子问题来解决时,子问题的最优解能递推到最终问题的最优解。常见的符合这种性质的问题如: 「我们将 XXX 按照某某顺序排序,然后按某种顺序(例如从小到大)选择。」 「我们每次都取 XXX 中最大/小的东西,并更新 XXX。」 但比如在大部分只 ......
子序列相关算法
1、最长公共子序列 最长公共子序列(Longest Common Subsequence,LCS)是动态规划中的经典问题,顾名思义,即求两个序列最长的公共子序列(可以不连续)。 1 #include <iostream> 2 #include<string> 3 using namespace st ......