算法leetcode day 30
day2
void *calloc(unsigned n,unsigned size); 用calloc函数可以为一维数组开辟动态存储空间,n为数组元素个数,每个元素长度为size. 函数返回值指向所分配域的起始位置的指针;如果分配不成功,返回NULL。 p=calloc(10+20,sizeof(int)) ......
几种离线分治算法
现在只有口胡. 别急. 这些算法口胡起来很舒服啊. 但是沾点离线的一般都不太好写/ng [转一手 cmd 的 blog](https://www.luogu.com.cn/blog/command-block/yi-suo-chang-yong-di-shuo-ju-jie-gou-wei-hu-s ......
java垮平台的原理-垃圾回收-day1
[TOC] ### 1. 跨平台原理 ![](https://img2023.cnblogs.com/blog/1422290/202308/1422290-20230821230514438-484726115.png) ![](https://img2023.cnblogs.com/blog/1 ......
加密算法分类
# 密码加密算法 > 针对密码存储的加密算法通常会使用一些特定的哈希函数或密码学技术,以确保用户密码在存储时是安全的。 1. bcrypt:这是一种基于 Blowfish 加密算法的密码哈希函数。它适用于存储密码,因为它的加密强度可以根据需要进行调整,以抵御暴力破解和彩虹表等攻击。 2. scryp ......
[Trick] [算法学习笔记] 线段树
事先声明:本文并非线段树教学。只是一些理解Trick。若您需从0学起线段树建议您移步其他博文呢qwq 感谢 Idea 提供 [尺子姐姐的博客!](https://www.cnblogs.com/ruierqwq/),尺子好闪,拜谢尺子! 我们在学习线段树的时候,对于乘法“lazy tag 先乘再加” ......
「30 天沉淀 90 mins」Day 1 CPU缓存一致性相关问题——MESI协议
参考资料 1. [小林Coding](https://mp.weixin.qq.com/s?__biz=MzUxODAzNDg4NQ==&mid=2247486479&idx=1&sn=433a551c37a445d068ffbf8ac85f0346&chksm=f98e48a5cef9c1b3fa ......
py之路——day13-20230821:生成器和迭代器
作者:zb 一、列表生成式 1、定义 用来生成列表的表达式 2、特点 可以使代码更加简洁 示例代码如下: 1 # 普通方法定义列表 2 a = [1, 2, 3] 3 print(a) 4 # 列表生成式方法定义列表 5 b = [i*2 for i in range(10)] 6 print(b) ......
【数据结构】排序 内部排序算法的比较和应用
#### 1.简单复习一下前面学到的排序算法 **三种插入排序:** **直接插入:** 依次将后面无序序列中头部的元素插入前面的有序序列中(找到插入位置,这个位置后面的元素一律后移) **折半插入:** 相比直接插入只是用折半查找的方式查找插入位置,元素的移动操作不变 **希尔排序:** 把相隔一 ......
蒙特卡洛算法代码
蒙特卡洛算法是一个常用的解题方法之一。以下是一个简单的蒙特卡洛求解圆周率π的代码示例: 点击查看代码 ``` import random def monte_carlo_pi(n): count = 0 total = n for _ in range(n): # 在单位正方形内随机生成点的坐标 x ......
Java学习IO流Day01
# io ## 一、File ### 2.1 FIle概述 1. File用来表示文件系统中的一个文件或者目录 2. java.io包下 ### 2.2 方法 1. 构造方法 - File(String pathname) : 通过指定路径名称创建一个新的FIle实例 ```java File fi ......
day04
信号管理 一、基本概念 1、中断 当程序进程接收到消息后,中止当前正在进行的进程,转而去执行其他任务等其他任务执行结束后再返回刚刚中止的位置,可以继续往下运行 中断分为硬件中断、软件中断,硬件中断是由硬件设备引发的、软件中断是执行了中断指令引发 2、 信号是一种软件中断,由操作系统发出,进程接收后会 ......
[Leetcode Weekly Contest]359
链接:[LeetCode](https://leetcode-cn.com/contest/weekly-contest-359/) ## [Leetcode]2828. 判别首字母缩略词 给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。 如 ......
文心一言 VS 讯飞星火 VS chatgpt (79)-- 算法导论7.4 4题
# 四、请用go语言,证明:RANDOMIZED-QUICKSORT 期望运行时间是 Ω(nlgn)。 ## 文心一言: 首先,为了证明RANDOMIZED-QUICKSORT的期望运行时间是Ω(nlg n),我们需要证明在最坏的情况下,该算法的运行时间是O(nlg n)。然后,我们需要证明在最坏的 ......
8.21 Day5
上午讲了严谨的时间复杂度分析理论,不知道有什么用,但是让我更严谨了 中午在睡觉 下午讲了欧几里得全家桶(一般欧几里得,拓展欧几里得,类欧几里得),黄钰曾评价 类欧几里得 :800年不考 但还是习得了如何用图像法解决一般的类欧几里得问题 总结,今天讲的ppt上的内容不多,但是拓展了很多,没有局限在pp ......
30、NAT网络地址转换
网络地址技术NAT的主要功能是实现内网访问外网,实现IP地址的转换。NAT一般部署在出口防火墙或者路由器中,可以更加安全的访问Internet,同时可以保护私有网络信息不被直接暴露在公网中,是一种主要解决IP地址短缺的技术。NAT转换技术包括静态、动态以及地址端口转换NAPT三种方式。NAT地址转换 ......
20天 hot 100 速通计划-day13
### 回溯 #### [131. 分割回文串](https://leetcode.cn/problems/palindrome-partitioning/) 给你一个字符串 `s`,请你将 `s` 分割成一些子串,使每个子串都是 **回文串** 。返回 `s` 所有可能的分割方案。 **回文串** ......
LeetCode day 1
class Solution { public: vector<int> sortArrayByParityII(vector<int>& nums) { int n = nums.size(); vector<int> even; // 存储偶数 vector<int> odd; // 存储奇数 ......
leetcode
# 最长回文子串 class Solution: def longestPalindrome(self, s: str) -> str: return self.manacher(s) @staticmethod def manacher(s: str) -> str: # 如果s是单字符的字符串, ......
代码随想录算法训练营第二十一天| 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差 卡哥建议:需要领悟一下二叉树遍历上双指针操作,优先掌握递归 题目链接/文章讲解:https://programmercarl.com/0530.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%8 ......
day11 - 栈与队列part02
20. 有效的括号 详解 class Solution { public: bool isValid(string s) { //最里面一对是相邻闭合 stack<char> stack_1; for(int i=0; i< s.length(); i++){ if(s[i] == '(' || s ......
[代码随想录]Day23-回溯算法part03
## 题目:[39. 组合总和](https://leetcode.cn/problems/combination-sum/description/ "39. 组合总和") ### 思路: 一样的递归套路: 1. 函数参数:因为要求和,所以有一个当前和的参数;另外因为**要保证没有重复的结果**,所 ......
代码随想录算法训练营第二十天| 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
654.最大二叉树 卡哥建议:又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历 题目链接/文章讲解:https://programmercarl.com/0654.%E6%9C%80%E5%A4%A7%E4%B ......
排序算法
1. 常用排序 1.1 归并排序 1.2 快速排序 快速排序优化 1.3 堆排序 2. 低级排序 2.1 冒泡排序 2.2 直接插入排序 2.3 希尔排序 3. 基于比较的排序算法时间复杂度下限证明 4. 排序算法会出现不稳定的状态原因 5. 非比较排序 5.1 计数排序 5.2 桶排序 5.3 基 ......
javascript学习笔记day4
今天重点学习了数组,老实说学过了c#和python的数组,但是今天重新接触js的数字还是有很多要重新学习的,下面是今天的笔记 查询条件五个以上时,switch的效果比if lese高两倍以上.let arr=[] 声明数组let arr=new Array(1,2,3,4) 声明数组修改数组 let ......
扁扁笨算法-AVL树的插入与删除
# 扁扁笨算法-AVL树的插入与删除 ## 扁扁笨简述 扁扁笨算法是将不平衡子树打成一条中序遍历的直链(实质是一条升序链),然后按照寻找中点并提起中点构造二叉树的一种朴素做法。扁扁笨算法是一种确定平衡树调整结构之后填入数字的辅助手段,本身并没有什么出彩的地方。 ## 理论简介 AVL树插入之后一般会 ......
扁扁笨算法-B树的插入与删除
# 扁扁笨算法-B树的插入与删除 ## 扁扁笨简述 扁扁笨算法是将不平衡子树打成一条中序遍历的直链(实质是一条升序链),然后按照寻找中点并提起中点构造二叉树的一种朴素做法。扁扁笨算法是一种确定平衡树调整结构之后填入数字的辅助手段,本身并没有什么出彩的地方。 ## 理论简介 B树是一种强结构弱数据的数 ......
【图论#02】岛屿数量,flood fill算法的代码实现与优化
### 岛屿数量 给你一个由 `'1'`(陆地)和 `'0'`(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 **示例 1:** ``` 输入:grid = [ ["1" ......
使用MD5算法和sha512sum校验和检验文件完整性
[TOC] # 一.前言 在我们日常生活中,无论是下载文件、传输数据还是备份重要信息,如何确保数据的完整性始终是一个不能忽视的问题。本文将向大家介绍如何使用MD5算法和sha512sum校验和来进行文件完整性的验证。 # 二.MD5算法简介 MD5算法,全称Message-Digest Algori ......
c++算法之哈希表
啥是哈希表 哈希表,类似散列表,是一种存储数据的一种方式。只能说是有点奇葩。 他是通过将值转换成数组的下标,也就是f[x]=x的意思,大家估计都能理解吧😃。 所以他可以通过这样的方式存储后遍历数组就可以发现他家可以自动排序,而且只需O(n)时间复杂度。 但是所需要的空间式数据中的最大值。 输入数据 ......