摘要: Java 中的 ArrayList 是一个非常常用的动态数组,它属于 Java 集合框架的一部分。与普通数组不同,ArrayList 可以在需要时动态调整其大小。以下是 ArrayList 的一些详细介绍: 基本特性 动态大小:ArrayList 会自动调整其大小以适应新元素。 有序集合:元素按插入 阅读全文
posted @ 2025-02-25 15:52 Tomorrowland_D 阅读(155) 评论(0) 推荐(1) 编辑
摘要: 在Java中,异常分为运行期异常(Runtime Exception)和编译期异常(Checked Exception),两者的核心区别在于 编译器是否强制要求处理。以下是它们的详细对比: 1. 定义与分类 类别 运行期异常(Runtime Exception) 编译期异常(Checked Exce 阅读全文
posted @ 2025-02-22 16:46 Tomorrowland_D 阅读(111) 评论(0) 推荐(0) 编辑
摘要: C++ 中的 bitset 是一个用于处理固定大小位序列的模板类,提供高效的位操作功能。以下是对其关键特性的详细介绍: 1. 声明与初始化 头文件:需包含 <bitset>。 声明:bitset<N> 表示一个包含 N 位的二进制集合(N 为编译时常量)。bitset<8> b1; // 默认初始化 阅读全文
posted @ 2025-02-19 09:10 Tomorrowland_D 阅读(221) 评论(0) 推荐(3) 编辑
摘要: StringBuilder类 StringBuilder 类是 Java 中用于处理可变字符串的类,它提供了在字符串内部进行修改的方法,相比之下,String 类是不可变的,每次对字符串做修改都会创建一个新的字符串对象。因此,如果需要频繁对字符串进行修改操作,使用 StringBuilder 类会更 阅读全文
posted @ 2025-01-17 19:35 Tomorrowland_D 阅读(256) 评论(0) 推荐(1) 编辑
摘要: Java中String类常见的方法 以下介绍字符串常见的几个方法。 介绍String类 在 Java 中,String 类是一个代表字符串的类,具有以下特性: 不可变性:String 对象一旦被创建就是不可变的,即它们的值在创建后不能被更改。任何对 String 对象的修改操作实际上会创建一个新的 阅读全文
posted @ 2025-01-17 11:24 Tomorrowland_D 阅读(311) 评论(0) 推荐(2) 编辑
摘要: 14.Binary Deque 题面翻译 Binary Deque - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 有多组数据。 每组数据给出 n 个数,每个数为 01 。你可以选择从两边删数,求至少删几个数才可以使剩下的数总和为 s 。 如果 阅读全文
posted @ 2025-01-14 11:42 Tomorrowland_D 阅读(27) 评论(0) 推荐(1) 编辑
摘要: 在算法比赛中,快读是一个常用的技巧,用于提高输入数据的速度。常见的快读方法有以下几种: 1. C++ 中的快读 C++ 中常用 scanf 和 getchar 进行快读。 #include <cstdio> #include <cstring> inline int read() { int x = 阅读全文
posted @ 2024-10-21 12:25 Tomorrowland_D 阅读(519) 评论(1) 推荐(3) 编辑
摘要: Kalindrome Array 题目链接: Kalindrome Array - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题面翻译 对于长度为 m 的序列 b,我们称 b 是「回文的」,当且仅当对于所有 i[1,m],都有 \(b_i=b 阅读全文
posted @ 2024-10-17 08:27 Tomorrowland_D 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 1. A + B 问题I 前言 本篇作为课程第一篇,主要是对Python基础语法进行扫盲,本节课会学习到下面知识: 输入 本道题目的工作任务很简单,只是计算两个数的和,但是在计算之前,我们首先要明确的一个问题就是如何把这两个数据输入到计算机中,并由程序读取呢? 输入当然是使用键盘之类的输入设备完成, 阅读全文
posted @ 2024-10-16 17:09 Tomorrowland_D 阅读(593) 评论(0) 推荐(0) 编辑
摘要: #define read(x) scanf("%d",&x); 这行代码是一个宏定义,使用了 C 语言中的 #define 指令。它的作用是定义一个名为 read 的宏,用于简化输入操作。 具体来说: #define read(x):这部分定义了一个宏,名字是 read,它接收一个参数 x。 sca 阅读全文
posted @ 2024-10-15 19:55 Tomorrowland_D 阅读(150) 评论(0) 推荐(1) 编辑
摘要: 买卖股票 本文所讲解的内容与LeetCode122. 买卖股票的最佳时机ll,这道题题意相同,阅读完本文后可以自行挑战一下 力扣链接 题目叙述: 给定一个长度为N的数组,数组中的第i个数字表示一个给定股票在第i天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖 阅读全文
posted @ 2024-09-10 21:17 Tomorrowland_D 阅读(79) 评论(0) 推荐(1) 编辑
摘要: LeetCode516 .最长回文子序列 题目叙述: 力扣题目链接(opens new window) 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入:s = "bbba 阅读全文
posted @ 2024-09-07 16:18 Tomorrowland_D 阅读(148) 评论(0) 推荐(1) 编辑
摘要: LeetCode674. 最长连续递增序列 阅读本文之前,需要先了解“动态规划方法论”,这在我的文章以前有讲过 链接:动态规划方法论 本文之前也讲过一篇文章:最长递增子序列,这道题,阅读本文的同时可以与“最长递增子序列进行对比”,这样更能对比二者的区别! LeetCode300.最长递增子序列 - 阅读全文
posted @ 2024-08-24 19:19 Tomorrowland_D 阅读(71) 评论(0) 推荐(3) 编辑
摘要: 最长公共子串 阅读本文前可以先了解“动态规划方法论”,在我之前讲过的文章有讲过。 动态规划方法论 本文讲解的题与leetcode718.最长重复子数组,题意一模一样,阅读完本文以后可以去挑战这题。 力扣链接 题目叙述: 给定两个字符串,输出其最长公共子串的长度。 输入 ABACCB AACCAB 输 阅读全文
posted @ 2024-08-24 11:40 Tomorrowland_D 阅读(286) 评论(0) 推荐(4) 编辑
摘要: 大盗阿福 本题与leetcode198题——打家劫舍的题意一模一样,阅读完本文以后可以尝试以下题目 力扣题目链接) 题目叙述: 阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有N家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时, 阅读全文
posted @ 2024-08-24 08:53 Tomorrowland_D 阅读(78) 评论(0) 推荐(2) 编辑
摘要: 编辑距离 本题与力扣72.编辑距离题意一样,阅读完本文可以尝试leetcode72. 力扣题目链接 题目叙述 输入两个字符串a,b。输出从字符串a修改到字符串b时的编辑距离 输入 NOTV LOVER 输出 4 题目解释: 动态规划思路 这个问题显然是一个最优解问题,我们可以考虑动态规划的思路,那么 阅读全文
posted @ 2024-08-23 20:23 Tomorrowland_D 阅读(159) 评论(0) 推荐(3) 编辑
摘要: 最长公共子序列 本文讲解的题与leetcode1143.最长公共子序列这题一样,阅读完可以挑战一下。 力扣题目链接 题目叙述: 给定两个字符串,输出其最长公共子序列,并输出它的长度 输入: ADABEC和DBDCA 输出: DBC 3 解释 最长公共子序列是DBC,其长度为3 动态规划思路: 我们这 阅读全文
posted @ 2024-08-23 13:47 Tomorrowland_D 阅读(273) 评论(0) 推荐(4) 编辑
摘要: 最长上升子序列 本文与leetcode300.最长递增子序列,这题题意一样,阅读完本文可以挑战一下 力扣链接 题目叙述: 给定一个无序的整数数组,找出其中最长上升子序列(LIS)的长度。 输入: [5,7,1,9,4,6,2,8,3] 输出 4 解释 最长上升子序列是[1,4,6,8],其长度为4。 阅读全文
posted @ 2024-08-23 01:05 Tomorrowland_D 阅读(53) 评论(0) 推荐(1) 编辑
摘要: LeetCode300.最长递增子序列 力扣题目链接(opens new window) 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7 阅读全文
posted @ 2024-08-23 00:46 Tomorrowland_D 阅读(100) 评论(0) 推荐(3) 编辑
摘要: 动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的, 我在这里举一个典型的动态规划的问题——背包问题: 阅读全文
posted @ 2024-08-20 16:45 Tomorrowland_D 阅读(369) 评论(0) 推荐(3) 编辑
摘要: 使用 next_permutation 函数非常简单,以下是具体的步骤和注意事项: 步骤: 包含头文件:确保包含 <algorithm> 头文件,因为 next_permutation 函数位于这个头文件中。 #include <algorithm> 准备容器:next_permutation 可以 阅读全文
posted @ 2024-08-16 10:25 Tomorrowland_D 阅读(72) 评论(0) 推荐(1) 编辑
摘要: LeetCode40.组合总和II 力扣题目链接(opens new window) 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有 阅读全文
posted @ 2024-08-14 21:20 Tomorrowland_D 阅读(37) 评论(0) 推荐(1) 编辑
摘要: LeetCode39. 组合总和 题目叙述: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数 阅读全文
posted @ 2024-08-14 20:45 Tomorrowland_D 阅读(51) 评论(0) 推荐(1) 编辑
摘要: 4.组合总和lll(LeetCode216) 题目叙述: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k = 3, n = 7 输 阅读全文
posted @ 2024-08-14 18:29 Tomorrowland_D 阅读(47) 评论(0) 推荐(1) 编辑
摘要: 回溯算法的理解: 回溯算法可以理解为一颗树形结构,即一颗n叉树,当遍历到叶子节点的时候,我们就到达了递归的终点,此时我们应该往上走。 回溯法解决的问题都可以抽象为树形结构,是的,我指的是所有回溯法的问题都可以抽象为树形结构!因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的 阅读全文
posted @ 2024-08-14 10:59 Tomorrowland_D 阅读(75) 评论(0) 推荐(1) 编辑
点击右上角即可分享
微信分享提示