04 2025 档案

摘要:简单的输入和输出 冯诺依曼体系: 1.1 I/O控制器 查看I/O的控制状态,例如键盘的KBSR(keyboard status register) 1.2 I/O数据寄存器 一个字节8个位 1.3 异位 1.4 轮询 1.5 自陷机制 2.1 中断 2.1.1 同步和异步 2.1.2 中断与寄存器 阅读全文
posted @ 2025-04-30 11:58 Toby0919 阅读(6) 评论(0) 推荐(0)
摘要:三种二分搜索 框架: 技巧1:代码不要出现else 而是用 else if取代(便于体现多种情况) 技巧2:mid计算方法:right+(left-right)/2 技巧3:while循环条件,是left<=right,如果是小于,则会出现(left=2,right=2)(会漏掉某一个元素)无法继续 阅读全文
posted @ 2025-04-28 21:31 Toby0919 阅读(6) 评论(0) 推荐(0)
摘要:1 前缀和(第一行/第一行+第一列变成0) 1.1元素和 一维:利用数列的技巧:Sn-Sm=A_{m_1}+……+A_{n} 1.2 二维矩阵 任意一个矩阵之和可以转化成几个大矩阵(左上角都是0,0)的线性运算 前缀和(积)的使用条件: 1.原数组不变,如果原数组某一个值发生变化,那么presum的 阅读全文
posted @ 2025-04-26 17:42 Toby0919 阅读(72) 评论(0) 推荐(0)
摘要:1.滑动窗口(本质是数组快慢指针的一部分) 1.1 框架 int left = 0, right = 0; // 滑动窗口算法伪码框架 void slidingWindow(String s) { // 用合适的数据结构记录窗口中的数据,根据具体场景变通 // 比如说,我想记录窗口中元素出现的次数, 阅读全文
posted @ 2025-04-26 17:35 Toby0919 阅读(9) 评论(0) 推荐(0)
摘要:1 堆(本质是一个数组) 1.1 定义 堆必须是一个完全二叉树() 1.2 完全二叉树的性质 性质1:只允许最后一行不为满 性质2:最后一行必须从左往右排序且没有间隔 1.3 堆的分类(有堆序性) 大根堆:父节点元素大于子节点元素 小根堆:父节点元素小于子节点元素 1.4 堆的存储 编号:从上到下, 阅读全文
posted @ 2025-04-25 17:19 Toby0919 阅读(25) 评论(0) 推荐(0)
摘要:1.双指针链表() 1.1 合并两个有序链表 关键点:创建两个指针和一个虚拟头结点 (单链表问题一个虚拟头结点会很方便(指向的值无所谓) 1.2 单链表的分解 key:创建两个虚拟头结点,用来存放不同种类的数据(创造一个新链表的时候常用虚拟头结点) 1.3 合并k个有序链表 key:优先级队列(二叉 阅读全文
posted @ 2025-04-24 00:04 Toby0919 阅读(5) 评论(0) 推荐(0)
摘要:1.数据结构 1.1数据结构的存储方式 底层实现只有两种 数组和链表(arraylist等等本质都是链表或数组) 1.2数据结构的基本操作 增删查改(遍历+访问) 数组可以随机访问 ,快速找到对应元素,但是内存空间必须一次分配够 如果要扩容,删除 ,插入,因为要保证数据连续 所以时间复杂度为O(n) 阅读全文
posted @ 2025-04-22 11:57 Toby0919 阅读(4) 评论(0) 推荐(0)
摘要:把字符串的数字提取出来(多位) if (Character.isDigit(c)) { k = k * 10 + (c - '0'); } 这几行代码既处理了进位问题,又确定了每一位的具体数字 阅读全文
posted @ 2025-04-20 23:55 Toby0919 阅读(5) 评论(0) 推荐(0)
摘要:基本用法: 创建对象: Stack<> stack=new Stack<>(); 入栈: stack.push(); 出栈 stack.pop();这个有返回值,为栈顶元素 查看 stack.peek();查看但不移除 判断栈顶元素是否为空 stack.IsEmpty(); 获取栈的大小 stack 阅读全文
posted @ 2025-04-20 23:55 Toby0919 阅读(11) 评论(0) 推荐(0)
摘要:以下是使用LibGDX制作2D动作冒险类游戏的具体步骤和建议,分为开发准备、核心功能实现、优化与扩展三个阶段: 一、开发准备 环境配置 安装工具:确保已安装Java JDK(建议JDK 11+)、Android Studio(用于移动端调试)、IntelliJ IDEA或Eclipse(推荐Inte 阅读全文
posted @ 2025-04-19 23:06 Toby0919 阅读(59) 评论(0) 推荐(0)
摘要:1.低级语言 MIPS 32指令集体系 (1 可以在MIPS32机器上编写程序 (2 可以将高级汇编语言翻译到MIPS32机器上执行 1.1 结构化程序设计 选择结构 循环结构 示例1: x1000 0000是MEM里存数据的区域 初始化: 总结回顾: 示例2: 通过不断左移+是否是一个负数 去判断 阅读全文
posted @ 2025-04-16 11:20 Toby0919 阅读(12) 评论(0) 推荐(0)
摘要:格 1.格是任意两个元素组成的子集{a,b}都有最小上界和最大下界的一个偏序集 阅读全文
posted @ 2025-04-14 15:02 Toby0919 阅读(15) 评论(0) 推荐(0)
摘要:计算Pow(x,n) 常规算法:暴力循环 时间复杂度O(n) 空间复杂度O(1) goal:寻找时间复杂度更小的算法,即O(logn)(最常见的O(logn)算法就是二分算法)由此想到递归算法 递推算法: 出口x=n; 递推关系f(n)=f(n/2)*f(n/2) class Solution { 阅读全文
posted @ 2025-04-13 18:09 Toby0919 阅读(23) 评论(0) 推荐(0)
摘要:哈希表大致有以下两类 1.hashmap(特点:可以存储key和value,keyset类似于hashset,不能重复,valueset则是keyset的一个映射)(在需要用到映射的时候考虑hashmap) 2.hashset(特点:查询的时间复杂度为O(1),里面存储的数据不能重复) 本题: 我的 阅读全文
posted @ 2025-04-12 10:42 Toby0919 阅读(10) 评论(0) 推荐(0)
摘要:高斯公式:(格林公式的拓展版) 格林公式:平面区域的二重积分转化成边界曲线上的曲线积分 高斯公式:空间区域上的三重积分变成边界曲面上的曲面积分 (注意要是边界曲面的外侧)P,Q,R要具有一阶连续的偏导数 例题: 2 斯托克斯公式 例题: 阅读全文
posted @ 2025-04-10 17:46 Toby0919 阅读(227) 评论(0) 推荐(0)
摘要:我的方法(会tle) import java.util.*; class Solution { public List<List> groupAnagrams(String[] strs) { List<List> result = new ArrayList<>();//用来存放最终结果 List 阅读全文
posted @ 2025-04-10 12:15 Toby0919 阅读(9) 评论(0) 推荐(0)
摘要:1.中央处理器概述 1.1 现代电子计算机--冯诺依曼模型 主要部分:控制部件,运算部件,存储部件,输入,输出 中央处理器:控制部件,运算部件 CPU与其它部件交互:输入、输出、存储 CPU:读取并执行指令的部件 由控制信号和数据通路组成(数据通路包含一部分存储单元) 1.2 控制信号 由控制器生成 阅读全文
posted @ 2025-04-09 11:19 Toby0919 阅读(13) 评论(0) 推荐(0)
摘要:我的方法:最简单的使用时间复杂度为O(n^2) import java.util.Arrays; import java.util.Collection; class Solution { public int[] twoSum(int[] nums, int target) { for (int 阅读全文
posted @ 2025-04-09 10:09 Toby0919 阅读(10) 评论(0) 推荐(0)
摘要:回顾 等价关系:R(二元关系)是自反的,对称的和传递的 3可以整除6(注意写法) 1.1 相容关系 R是自反的,对称的,则称R是相容关系 相容类:取A的一个子集C,使得C里面容易两个元素都有相容关系,则称C为相容类 最大相容类,完全覆盖: 图中最大相容类是x1,x2,x3/x2,x3,x4 完全覆盖 阅读全文
posted @ 2025-04-08 18:00 Toby0919 阅读(59) 评论(0) 推荐(0)
摘要:1。字符串转其它 double num=Double.parseDouble(str); 利用Double里面的方法 parse意为解析 int hours = Integer.parseInt(timePoint.substring(0, 2)); int minutes = Integer.pa 阅读全文
posted @ 2025-04-07 21:04 Toby0919 阅读(5) 评论(0) 推荐(0)
摘要:1 函数的置换 集合A到它自身的一个双射称作A的一个置换 如果A是一个有n个元素的一个集合,则A不同置换数为n! 举例说明 即定义域和值域都是它本身(不是陪域,值域是陪域的子集) 1.1 循环置换 1.1.1 取一个A的子集称为B,只在B上面定义置换,并且p(b1)=b2,p(b2)=b3…… p( 阅读全文
posted @ 2025-04-07 15:39 Toby0919 阅读(11) 评论(0) 推荐(0)
摘要:1 类和对象 1.1 java里代码执行依靠对象去执行(需要对象去使用) 1.2 类是模板,不能直接引用,需要创建对象new 1.3 成员变量是类的属性,用于存储对象的状态,可以被类的方法访问 在类里面定义的时候只是模板,没用被定义 1.4 方法是类的行为,用于执行操作 1.5 对象的创建通过new 阅读全文
posted @ 2025-04-06 22:26 Toby0919 阅读(4) 评论(0) 推荐(0)
摘要:1 集合:用于存储、操作一组对象的数据结构 作用:解决不同类型的问题,包括数据存储,数据检索,数据排序等 1.1 层次 集合分为两个层次:collection、map collection包括list\set\quene Map包括map接口和其实现类 1.2 常见集合类型 List:有序集合,可以 阅读全文
posted @ 2025-04-06 00:52 Toby0919 阅读(24) 评论(0) 推荐(0)
摘要:import java.util.*; import java.text.SimpleDateFormat; public class WorkdayCalculator { // 示例数据:节假日和调休日(格式:yyyy-MM-dd) private static final Set HOLIDA 阅读全文
posted @ 2025-04-05 21:34 Toby0919 阅读(18) 评论(0) 推荐(0)
摘要:1.1 转化为二重积分 法向量上侧取正,下侧取负(和z轴的夹角是锐角还是钝角) 阅读全文
posted @ 2025-04-02 17:41 Toby0919 阅读(47) 评论(0) 推荐(0)
摘要:1 指令集 1.1 CISC RISC指令集 CISC vs RISC 1.2 指令的分类 比如2+3 操作码就是加法这个操作,操作数就是2和3 1.3 指令的寻址方式 间接寻址可当成c程序中的一个指针 操作数寻址 1.4 MIPS指令集(长度32位) 前6位为操作位(操作码) R型 rs\rt\r 阅读全文
posted @ 2025-04-02 16:40 Toby0919 阅读(160) 评论(0) 推荐(0)
摘要:1.1 FIFO队列(先进先出) 一个队列需要支持三种操作(查询、删除、插入) 队首:允许元素进行删除的一端;队尾:允许元素进行插入的一端 1.2 FIFO队列的接口 数据入队:队列的插入过程,将数据元素从队尾进行插入的过程 数据出队:将队首的元素进行删除 清空队列:一直出队,直到队列为空,当队首和 阅读全文
posted @ 2025-04-02 11:47 Toby0919 阅读(3) 评论(0) 推荐(0)
摘要:先进先出(队列) 滑动窗口最大值(单调队列) 最长递增子序列(动态规划)(贪心+二分) 4.数组逆序对统计(归并排序) 快速获取集合重复值(哈希表) 6.快速获取集合最值(二叉堆) 7.无向图判环(并查集) 8.图的连通性问题(dfs+bfs) 9.单源最短路dijkstra 10.多源最短路(fl 阅读全文
posted @ 2025-04-01 22:37 Toby0919 阅读(40) 评论(0) 推荐(0)
摘要:1.1 定义域 A,记作dom f=A; 值域记作:ran f 1.2 函数的特点 A到B的函数是从A到B的二元函数的子集,且A中的每一个元素a都必须是f的有序对(a,b)的第一分量,通常把(x,y)∈f,记作f(x)=y,f把x映射成了y *定义域必须在第一分量里都出现 函数个数:nm,不同关系的 阅读全文
posted @ 2025-04-01 17:56 Toby0919 阅读(20) 评论(0) 推荐(0)