数组 随笔 主席
rust中动态数组的引用和切片
真逆天这个b语法 1 切片 与String切片类似,动态数组Vec也能切片,通过&取切片 般如果Vec是可变的话,那么他的切片就是不可变的/只读的 ==注意:切片和 &Vec 是不同的类型,后者仅仅是 Vec 的引用,并可以通过解引用直接获取 Vec== fn main() { let mut v ......
树状数组
==树状数组==学习笔记 第 $ 1 $ 章:树状数组 什么是==树状数组==? 树状数组可以理解为一个==简易的线段树==。 列题一 给定 $a$ 个数,执行 $q$ 次操作: $op=1$ 时:将 $a_x$ 改成 $y$ $op=2$ 时:询问 $a_x$ 到 $a_y$ 的和 这题显然可以用 ......
c#-随机数组
public static int[] GenerateRandowArray(int maxSize,int maxValue) { Random rd = new Random(); int[] arr = new int[(int)((maxSize+1) * rd.NextDouble () ......
树状数组
###一. 概述 树状数组是一种支持数组的单点修改,以及求前缀和(区间求和)的一种简单数据结构,作为线段树的下位替代 简单来说,树状数组就是利用lowbit(二进制化最后一位表示的值)的性质,把n个节点串起来,隐式地构造一棵树 每个节点x的父亲是x+lowbit(x),当前x节点左边最大的节点是x- ......
VGGNet随笔
VGGNet与GoogLeNet分别获得了那一年ImageNet图像分类大赛的第二和第一,如果说GoogleNet是通过改变网络的宽度来提高神经网络的性能(很多的并行计算),证明了适度增加网络的宽度可以提高网络的性能,那么VGGNet就是通过增加网络的深度来提高网络的性能,本文探究了网络深度与其性能... ......
树状数组
树状数组, 可以高效地计算数列前缀和, 它的查询(求前缀和) 和更新(修改) 操作都可以在 O(logn) 的时间完成 tr[i] 存储以 i 为终点, 长度为 lowbit(i) 的区间 修改: for( int i = x ; i <= n ; i += lowbit(i) ) tr[i] += ......
事件系统-随笔
React 为我们提供了一套虚拟的事件系统,并且是遵循W3C规范来定义这些事件。在 React事件介绍 中介绍了合成事件对象以及为什么提供合成事件对象,主要原因是想抹平不同浏览器之间的兼容差异,提供一个可以跨平台的事件系统,并且能做优化和能干预事件的分发,为此就需要提供能在不同浏览器下一致的事件系统 ......
NOI / 1.8编程基础之多维数组
11:图像旋转 1.描述 输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。 2.输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素 ......
NOI / 1.8编程基础之多维数组 11:图像旋转
描述 输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。 ......
计算机科学速成课听课随笔4
##早期编程方式 在执行程序之前,你是否想过程序是如何到内存中的呢 雅卡尔织布机 可能是最早的编程哦,一个可编程的织布机 为了执行不同的计算,程序员需要一个控制面板,面板有很多小插孔,程序员可以插电线让机器不同的部分相互传数据和信号 也叫 插线板 ,之后控制面板变成了可插拔,让编程变得更加容易,通过 ......
将数组清空
给你一个包含若干互不相同整数的数组nums,你需要执行以下操作直到数组为空 : 如果数组中第一个元素是当前数组中的最小值则删除它 否则,将第一个元素移动到数组的末尾 请你返回需要多少个操作使nums为空 ###1. 逆向思维 class Solution { public: long long co ......
Java根据Integer数组(有null值)递归构造二叉树
二叉树: public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() { } TreeNode(int val) { this.val = val; } TreeNode(int val, TreeNode l ......
【剑指 Offer】 51. 数组中的逆序对
【题目】 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1:输入: [7,5,6,4]输出: 5 限制:0 <= 数组长度 <= 50000来源:力扣(LeetCode)链接:https://leetcode.cn ......
Java二维数组
大家好,我是筱筱,这里主要分享的是个人日常学习java的随笔,如果您对本篇有不同的方法和建议,欢迎您在评论区留言指正,您们的留言和点赞是我继续学习和分享的动力,非常感谢观看! ......
HashMap的数组长度为何必须是2的n次方
扩容方便,数字位移计算方便效率高; 计算元素下标使用的方式是key的hash & (数组length - 1),由于length是2^n,转换成二进制后2^-1最低位就全部都是1,比如111,就相当于是数组长度的掩码,那么hash & 111就可以将数组的每一位都覆盖,加入数组长度不是2^n,那么l ......
随笔 算是日常感慨
2023/04/29 摆了一天。 早上写着写着作业就跑去研究氨基酸了,把每个氨基酸的结构的玩了一下,结果荒废了一个上午。 中午和 zhr 打了几把 LOL,连胜,我的铁男还升到六级成就了,nice! 下午写历史,写了一半发现不用写,遂弃。再写政治,写完了之后在床上躺了一会,想着不知道要不要开始写生活 ......
2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 由于答案可能非常大,请返回对 109
2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 由于答案可能非常大,请返回对 109 + 7 取余 后的结果。 子序列 定义为从一个数组里删除一些(或者不删除)元素, 但不改变剩下元素的 ......
树状数组 好题整理
树状数组 好题整理 [SDOI2009] HH的项链 离线询问后,按右端点升序排序,考虑建立一个树状数组,只包含 0/1,把含每种颜色的点中最靠右的位置打上 1 的标记,询问 $[l, r]$ 答案即为 $query_r - query_{l - 1}$,可以证明,如果一个相同颜色的点的位置对答案有 ......
数组模拟实现数据结构
数组模拟链表实现 ① 单链表: 邻接表 (存储图和树) ② 双链表: 优化某些问题 单链表 int e[N] 存储 val , int ne[N] 存储 next //单链表模板 int head,e[N],ne[N],idx; //head表示头节点的下标,e[i]表示节点i的值,ne[i]表示节 ......
力扣---1493. 删掉一个元素以后全为 1 的最长子数组
给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组,请返回 0 。 提示 1: 输入:nums = [1,1,0,1]输出:3解释:删掉位置 2 的数后,[1,1,1] 包含 3 个 1 。示例 ......
计算机速成课听课随笔3
#高级CPU设计(简 随着科技技术的增加,人们不断提高CPU的时钟速度,以此来适应越烈越多的指令,此时CPU的处理速度就会超过数据的供应速度 RAM需要时间去找出地址,取数据,配置,通过总线(BUS)输出数据给CPU,CPU空等数据就产生了“延迟” 解决延迟的方法之一就是给CPU加一点RAM,叫做“ ......
第三章-栈 队列和数组
栈 stack 数据接口三要素 逻辑,运算,存储 只允许在一端进行数据插入和删除操作. LIFO规则,last in first out 先进后出 联想到烤串.doge 卡特兰数(catalan),n个不同元素进栈,出栈元素不同排列的个数为 顺序栈 链栈 只在头结点插入和删除就是链栈 队列 FIFO ......
计算机科学速成课随笔2
中央处理器(CPU) 计算机的心脏就是“中央处理单元”,简称“CPU” CPU负责执行程序,而程序由一步步的操作完成,这些操作就叫做“指令” 但是对于俺们小白来说,详细的理解CPU的各个组件和各个线的分布是不太可能的 我们需要一个高层次的视角叫做“微体系架构”(应该就是抽象的理解一下的意思 想要简单 ......
计算机科学速成课随笔
# ALU(算数逻辑单元)计算机数学的大脑 负责运算的单元 第一个ALU 英特尔 74181(4位输入) ALU有两个单元,一个是算术单元,另一个就是逻辑单元 算术单元,负责计算操作(增量运算。。。)运用逻辑门 计算机中1 代表true, 0 代表false XOR(异或)的逻辑门刚刚好可以满足大部 ......
数组和字符串
数组操作 读取数组中的元素,是通过访问索引的方式来读取的,一般从0位置开始。 对于数组,计算机在内存中为其申请一段 连续 的空间,且会记下索引为0处的内存地址。主要的四种操作为:读取,查找,插入和删除元素。 1.寻找数组的中心索引: 给定整数数组nums,计算数组的中心下标(其左侧所有元素相加之和等 ......
023 指针数组和数组指针
/* 一: 原理 二: 指针数组 三: 数组指针 */ 一: 原理 定义变量: int num = 1; 1 组合: 符号 + 名称 (1) 符号: 数据类型 (2) 名称: 要操作的数据类型 (3) 符号为名称所服务的。 2 优先: (1) 默认优先级 (2) 离符号近(从左到右)的优先级高 (3 ......