随笔分类 -  日常学习 / jave se

2.26开始学习跟随b站课程BV1Gv411T7pi
摘要:简要介绍 1.1 目的:动态规划主要处理求最值的题型 1.2 核心问题:穷举,列出状态转移方程、判断算法问题是否具备【最优子结构】(通过子问题的最值得到原问题的最值)、是否存在【重叠子问题】(用暴力穷举的话效率会很低,可以使用【备忘录】和【DP table】来优化穷举问题) 2 如何写状态转移方程 阅读全文
posted @ 2025-05-15 16:52 Toby0919 阅读(27) 评论(0) 推荐(0)
摘要:什么是容器对象? list,map都是容器对象,提供了统一的接口 阅读全文
posted @ 2025-05-10 17:35 Toby0919 阅读(14) 评论(0) 推荐(0)
摘要:图的遍历 从一个顶点到其它顶点的遍历方法--图遍历(不访问已经访问过的顶点) dfs算法(递归遍历、回溯) 从顶点0开始,再对顶点0的相邻顶点进行dfs算法(可以维护一个标记数组,来标记某个顶点是否被访问过) dfs算法不是最短路径 阅读全文
posted @ 2025-05-05 15:43 Toby0919 阅读(30) 评论(0) 推荐(0)
摘要:1.二叉树的思维模式 1.1 是否可以通过遍历一遍二叉树得到答案?如果可以,用一个traverse函数配合外部变量来实现,<遍历的思维模式> 1.2 是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答案?如果可以,写出这个递归函数的定义,并充分利用这个函数的返回值,<分解问题的思维方 阅读全文
posted @ 2025-05-05 15:01 Toby0919 阅读(34) 评论(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 阅读(29) 评论(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 阅读(94) 评论(0) 推荐(0)
摘要:1.滑动窗口(本质是数组快慢指针的一部分) 1.1 框架 int left = 0, right = 0; // 滑动窗口算法伪码框架 void slidingWindow(String s) { // 用合适的数据结构记录窗口中的数据,根据具体场景变通 // 比如说,我想记录窗口中元素出现的次数, 阅读全文
posted @ 2025-04-26 17:35 Toby0919 阅读(33) 评论(0) 推荐(0)
摘要:1 堆(本质是一个数组) 1.1 定义 堆必须是一个完全二叉树() 1.2 完全二叉树的性质 性质1:只允许最后一行不为满 性质2:最后一行必须从左往右排序且没有间隔 1.3 堆的分类(有堆序性) 大根堆:父节点元素大于子节点元素 小根堆:父节点元素小于子节点元素 1.4 堆的存储 编号:从上到下, 阅读全文
posted @ 2025-04-25 17:19 Toby0919 阅读(48) 评论(0) 推荐(0)
摘要:1.双指针链表() 1.1 合并两个有序链表 关键点:创建两个指针和一个虚拟头结点 (单链表问题一个虚拟头结点会很方便(指向的值无所谓) 1.2 单链表的分解 key:创建两个虚拟头结点,用来存放不同种类的数据(创造一个新链表的时候常用虚拟头结点) 1.3 合并k个有序链表 key:优先级队列(二叉 阅读全文
posted @ 2025-04-24 00:04 Toby0919 阅读(28) 评论(0) 推荐(0)
摘要:把字符串的数字提取出来(多位) if (Character.isDigit(c)) { k = k * 10 + (c - '0'); } 这几行代码既处理了进位问题,又确定了每一位的具体数字 阅读全文
posted @ 2025-04-20 23:55 Toby0919 阅读(27) 评论(0) 推荐(0)
摘要:基本用法: 创建对象: Stack<> stack=new Stack<>(); 入栈: stack.push(); 出栈 stack.pop();这个有返回值,为栈顶元素 查看 stack.peek();查看但不移除 判断栈顶元素是否为空 stack.IsEmpty(); 获取栈的大小 stack 阅读全文
posted @ 2025-04-20 23:55 Toby0919 阅读(25) 评论(0) 推荐(0)
摘要:以下是使用LibGDX制作2D动作冒险类游戏的具体步骤和建议,分为开发准备、核心功能实现、优化与扩展三个阶段: 一、开发准备 环境配置 安装工具:确保已安装Java JDK(建议JDK 11+)、Android Studio(用于移动端调试)、IntelliJ IDEA或Eclipse(推荐Inte 阅读全文
posted @ 2025-04-19 23:06 Toby0919 阅读(109) 评论(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 阅读(51) 评论(0) 推荐(0)
摘要:哈希表大致有以下两类 1.hashmap(特点:可以存储key和value,keyset类似于hashset,不能重复,valueset则是keyset的一个映射)(在需要用到映射的时候考虑hashmap) 2.hashset(特点:查询的时间复杂度为O(1),里面存储的数据不能重复) 本题: 我的 阅读全文
posted @ 2025-04-12 10:42 Toby0919 阅读(31) 评论(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 阅读(30) 评论(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 阅读(26) 评论(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 阅读(21) 评论(0) 推荐(0)
摘要:1 类和对象 1.1 java里代码执行依靠对象去执行(需要对象去使用) 1.2 类是模板,不能直接引用,需要创建对象new 1.3 成员变量是类的属性,用于存储对象的状态,可以被类的方法访问 在类里面定义的时候只是模板,没用被定义 1.4 方法是类的行为,用于执行操作 1.5 对象的创建通过new 阅读全文
posted @ 2025-04-06 22:26 Toby0919 阅读(26) 评论(0) 推荐(0)
摘要:1 集合:用于存储、操作一组对象的数据结构 作用:解决不同类型的问题,包括数据存储,数据检索,数据排序等 1.1 层次 集合分为两个层次:collection、map collection包括list\set\quene Map包括map接口和其实现类 1.2 常见集合类型 List:有序集合,可以 阅读全文
posted @ 2025-04-06 00:52 Toby0919 阅读(46) 评论(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 阅读(42) 评论(0) 推荐(0)