自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 问答 (1)
  • 收藏
  • 关注

原创 loc()和 iclo()方法区别

方法都返回了相同的结果,因为 DataFrame 的索引标签与整数位置相对应。然而,在实际情况下,当索引标签不是整数时,它们的行为可能会有所不同。方法,它将根据条件选择满足条件的行,并返回一个新的 DataFrame,其中包含了满足条件的所有数据。方法,以按照布尔数组中的索引来选择行。请注意,这种方法只适用于数据没有被重新索引的情况下。(2)使用iloc()方法、1oc()方法对房屋类型为单身公寓的数据进行索引操作。方法都用于按照行标签或列标签来进行索引操作,但它们有一些关键的区别。

2024-04-21 12:20:00 259

原创 Java Collection接口方法整理

【代码】Java Collection接口方法整理。

2024-04-12 22:49:51 621

原创 java 大数类方法整理

以上是Java大数类BigInteger和BigDecimal常用的方法及其使用示例。根据实际需求选择合适的方法来操作大数,以便处理超出基本数据类型范围的数值。

2024-04-12 21:24:08 621 1

原创 java StringBuilder类方法整理

java StringBuilder类方法整理。

2024-04-12 21:06:46 572

原创 java String字符串常用的方法的整理

字符串常用的方法的整理。

2024-04-12 21:03:53 564

原创 java Arrays工具类常用方法整理

Java中的Array工具类提供了许多便捷的方法,用于对数组进行各种操作。

2024-04-12 20:50:49 437 1

原创 java快速幂算法

幂运算是指将一个数自身乘以自身多次的运算,其表达式为ana^nan,其中aaa是底数,nnn是指数。

2024-04-12 20:10:00 792

原创 判断素数(质数)java

素数(Prime Number),又称质数是指在大于1的自然数中,除了1和本身之外,不能被其他自然数整除的数。例如,2、3、5、7、11等都是素数。

2024-04-12 19:29:14 385

原创 唯一分解定理

因为如果存在两组不同的质因数分解方式,那么它们的最小质因数必然不同,但这是不可能的,因为每个大于1的正整数都有一个最小的质因数。我们将36进行唯一分解定理的质因数分解,首先从最小的质数2开始试除,可以整除,所以36 = 2 * 18。这可以通过反证法来证明,假设存在一个大于1的正整数无法写成质数的乘积,那么这个正整数必然有一个最小的因数,而这个最小的因数必然是质数。唯一分解定理是数论中的一个重要定理,它指出每个大于1的正整数都可以写成一个质数的乘积,并且这种表示方式是唯一的。

2024-04-12 18:05:03 337

原创 分解质因数java

我们将36分解质因数,首先从最小的质数2开始试除,可以整除,所以36 = 2 * 18。继续试除18,可以整除,所以36 = 2 * 2 * 9。继续试除9,可以整除,所以36 = 2 * 2 * 3 * 3。此时9已经是质数,所以36 = 2 * 2 * 3 * 3。分解质因数是将一个合数表示成质数相乘的形式。给定一个正整数,分解它的质因数。输出:2 * 2 * 3 * 3。

2024-04-12 18:01:51 295

原创 Java前缀和(洛谷P8772 )

题目要求给定n个整数,求它们两两相乘再相加的和。具体地,对于给定的n个整数a1, a2, …我们可以利用前缀和来解决这个问题。

2024-04-12 17:55:54 864

原创 java求最大公约数(GCD)与最小公倍数(LCM)

【代码】java求最大公约数(GCD)与最小公倍数(LCM)

2024-04-12 17:20:53 376

原创 java解数独(力扣Leetcode37)

数独部分空格内已填入了数字,空白格用。我们可以使用回溯算法来解决数独问题。

2024-03-31 13:39:04 605

原创 javaN皇后(力扣Leetcode51)

N 皇后问题是一个经典的回溯算法问题,研究的是如何将 N 个皇后放置在 N×N 的棋盘上,并且使皇后彼此之间不能相互攻击。在国际象棋中,皇后可以攻击与之处在同一行、同一列或同一斜线上的棋子。给定一个整数 n,表示棋盘的大小,求所有不同的 N 皇后问题的解决方案。每一种解法包含一个不同的 N 皇后问题的棋子放置方案,其中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。

2024-03-31 01:01:29 811

原创 java全排列2(力扣Leetcode47)

通过上述代码,我们可以有效地找到包含重复数字的序列的所有不重复的全排列。在回溯过程中,我们需要维护一个当前路径,逐步探索所有可能的选择,并及时剪枝以避免重复。,按任意顺序 返回所有不重复的全排列。给定一个可包含重复数字的序列。

2024-03-30 17:19:29 394

原创 java全排列(力扣Leetcode46)

使用ArrayList的contains判断,复杂度为O(n),返回其所有可能的全排列。你可以按任意顺序返回答案。使用used【i】,判断复杂度为O(1)给定一个不含重复数字的数组。

2024-03-30 16:25:52 507

原创 java寻找递增子序列(力扣Leetcode491)

找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。通过使用回溯算法,我们可以有效地找到数组中所有满足条件的递增子序列。在回溯过程中,我们需要维护一个当前路径,逐步探索所有可能的选择,并及时剪枝以避免重复。输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]回溯算法的时间复杂度取决于最终的结果数量,而结果数量取决于数组。输出:[[4,4]]

2024-03-30 12:03:56 811

原创 java子集2(力扣Leetcode90)

这是一个典型的回溯算法问题,需要找出给定数组的所有可能子集。但与上一题不同的是,数组中可能包含重复元素,因此需要避免重复结果的产生。,返回该数组所有可能的子集(幂集)。解集不能包含重复的子集,且返回的解集中,子集可以按任意顺序排列。给定一个可能包含重复元素的整数数组。

2024-03-30 01:05:11 306

原创 java子集(力扣Leetcode78)

数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。可以按任意顺序返回解集。这是一个典型的回溯算法问题,需要找出给定数组的所有可能子集。我们可以通过递归回溯的方法来解决。在回溯搜索的过程中,我们不断做出选择,尝试所有可能的情况,直到满足结束条件。通过回溯算法,我们可以找出给定数组。

2024-03-29 23:04:49 491

原创 java复原IP 地址(力扣Leetcode93)

例如:“0.1.2.201” 和 “192.168.1.1” 是有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “[email protected]” 是无效 IP 地址。有效的 IP 地址由四个整数组成,每个整数位于 0 到 255 之间,且不能含有前导 0。有效 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在。

2024-03-29 22:28:13 687

原创 java分割回文串(力扣Leetcode131)

这是一个典型的回溯算法问题。我们需要从字符串的开头开始,逐步尝试切割出回文子串,并将这些回文子串组合成分割方案。:在这个版本中,使用了双指针的方法来判断子串是否为回文串。:在判断回文串时,这个版本直接使用了字符串的索引范围来进行判断,而不是通过。这样可以避免创建新的字符串对象,减少了内存消耗和时间开销。反转字符串再比较的方法,双指针的方法只需要遍历一次字符串,更加高效。输出:[[“a”,“a”,“b”],[“aa”,“b”]]分割成一些子串,使每个子串都是回文串。所有可能的分割方案。输出:[[“a”]]

2024-03-29 20:50:50 463

原创 java组合总和2(力扣Leetcode40)

输入: candidates = [10,1,2,7,6,1,5], target = 8。输入: candidates = [2,5,2,1,2], target = 5。为了避免重复,我们需要在递归搜索的过程中进行剪枝,避免选取相同的数字。这个问题与前面的组合总和问题类似,但是每个数字在每个组合中只能使用。每个数字在每个组合中只能使用一次。注意:解集不能包含重复的组合。给定一个候选人编号的集合。中所有可以使数字和为。

2024-03-29 17:20:53 485

原创 java回溯算法笔记

回溯用于解决你层for循环嵌套问题,且不剪枝的回溯完全等于暴力搜索。回溯算法模板。

2024-03-29 01:15:22 442

原创 java组合总和(力扣Leetcode39)

解释:2 和 3 可以形成一组候选,2 + 2 + 3 = 7。7 也是一个候选, 7 = 7。我们需要在给定的数字数组中寻找所有可能的组合,使其和等于目标数。输入:candidates = [2,3,6,7], target = 7。输入: candidates = [2,3,5], target = 8。的所有不同组合,并以列表形式返回。输入: candidates = [2], target = 1。输出: [[2,2,2,2],[2,3,3],[3,5]]输出:[[2,2,3],[7]]

2024-03-29 01:13:38 397

原创 java电话号码的字母组合(力扣Leetcode17)

这是一个典型的回溯算法问题。我们需要根据数字到字母的映射,将给定的数字字符串转换为所有可能的字母组合。输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。通过回溯算法,我们可以找出给定数字字符串能表示的所有字母组合。输入:digits = “23”输出:[“a”,“b”,“c”]输入:digits = “2”输入:digits = “”

2024-03-29 00:18:57 1015

原创 java组合问题(力扣Leetcode77)

组合问题。

2024-03-27 00:40:37 351

原创 回溯算法java

回溯算法是一种递归算法,用于解决在给定约束条件下寻找所有可能的解的问题。在执行过程中,它尝试找到问题的一个解决方案,并且当它发现当前的解决方案不满足问题的全部要求时,会回溯到前一步,尝试其他的解决方案。

2024-03-27 00:39:32 699

原创 java打家劫舍2(力扣Leetcode213)

定义一个一维动态规划数组dp,其中dp[i]表示偷窃第一个房屋到第i个房屋时的最高金额。通过环形动态规划的思想,我们可以解决这个问题。首先将问题分解为两个子问题,然后对每个子问题使用动态规划求解,最终返回两个子问题的最大值。

2024-03-26 21:36:35 728

原创 java打家劫舍 1 (力扣Leetcode 198)

定义一个一维动态规划数组dp,其中dp[i]表示偷窃到第i个房屋时的最高金额。通过动态规划的思想,我们可以解决这个问题。首先初始化动态规划数组,然后根据状态转移方程进行状态转移,最终返回偷窃到的最高金额。

2024-03-26 21:24:12 352

原创 java打家劫舍3(力扣Leetcode337)

定义一个长度为 2 的数组dp,其中dp[0]表示不盗窃当前节点的最大收益,dp[1]表示盗窃当前节点的最大收益。通过动态规划的思想,我们可以解决这个问题。首先定义状态,然后根据状态转移方程进行状态转移,最终返回不触动警报的情况下,小偷能够盗取的最高金额。

2024-03-26 21:13:24 424

原创 java单词拆分(Leetcode 139)

通过动态规划的思想,我们可以解决这个问题。首先初始化动态规划数组,然后根据状态转移方程进行状态转移,最终判断字符串是否可以被拆分成字典中的单词。

2024-03-26 00:55:23 901

原创 java获取长度

属性/方法适用范围含义length数组获取数组的长度,即数组中元素的个数。length()字符串、数组等对象获取对象的长度或大小。size()集合类获取集合的大小或长度。length是数组的属性,因为数组在创建时就确定了长度,所以直接通过属性获取数组的长度即可。length()是方法,适用于字符串、数组等对象,因为它需要通过方法调用获取对象的长度或大小,长度可能根据对象的内容而变化,需要进行计算。size()是方。

2024-03-25 20:11:57 275

原创 java零钱兑换(力扣Leetcode322)

定义一个一维动态规划数组dp,其中dp[i]表示凑成金额i所需的最少硬币个数。通过动态规划的思想,我们可以解决这个问题。首先初始化动态规划数组,然后根据状态转移方程进行状态转移,最终返回凑成总金额所需的最少硬币个数。

2024-03-22 00:39:20 322

原创 Java组合总和 IV(力扣Leetcode 104)

定义一个一维动态规划数组dp,其中dp[i]表示总和为i的组合数。通过动态规划的思想,我们可以解决这个问题。首先初始化动态规划数组,然后根据状态转移方程进行状态转移,最终返回总和为target的组合数。

2024-03-21 20:52:26 366

原创 java零钱兑换 II(力扣Leetcode518)

定义一个一维动态规划数组dp,其中dp[i]表示总金额为i时的组合数。通过动态规划的思想,我们可以解决这个问题。首先初始化动态规划数组,然后根据状态转移方程进行状态转移,最终返回总金额为amount时的组合数。

2024-03-21 20:43:16 362

原创 java动态规划学习笔记

学习笔记目录,这里记录个大纲,详情点链接。

2024-03-21 01:01:07 677

原创 java 完全背包问题

在完全背包问题中,给定一个背包的最大容量,和一系列物品,每种物品都有无限个可用,每个物品有自己的重量和价值。目标是在不超过背包容量的情况下,使得背包中物品的总价值最大。在完全背包问题中,与01背包问题不同之处在于,我们可以重复选择当前物品放入背包中,因此在更新状态时,如果选择放入当前物品,应该使用。在01背包问题中,每种物品只有一个可用,而在完全背包问题中,每种物品都有。我们可以使用动态规划来解决完全背包问题。我们需要对动态规划数组进行初始化,当没有物品时或背包容量为0时。个物品中,背包容量为。

2024-03-21 00:47:23 792

原创 java一和零(力扣Leetcode474)

我们定义一个二维的动态规划数组dp,其中dp[i][j]表示在前i个字符串中,能够拥有不超过m个 0 和不超过n个 1 的最大子集的长度。通过以上步骤,我们可以解决这个问题。首先将每个字符串看作是一种物品,然后根据动态规划的思想进行状态转移,最终返回最大子集的长度。定义一个三维动态规划数组dp,其中表示在前i个字符串中,最多有j个 0 和k个 1 的最大子集的长度。通过动态规划的思想,我们可以解决这个问题。首先计算每个字符串中 0 和 1 的数量,然后根据状态转移方程进行状态转移,最终返回最大子集的长度。

2024-03-21 00:04:14 891

原创 java目标和(力扣Leetcode106)

定义一个一维动态规划数组dp,其中dp[i]表示总和为i的表达式的数目。通过动态规划的思想,我们可以解决这个问题。首先计算数组的总和,然后根据状态转移方程进行状态转移,最终返回总和为target的表达式的数目。

2024-03-20 21:22:29 358

原创 Java最后一块石头的重量 II(力扣Leetcod1049)

力扣原题有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x

2024-03-20 00:57:49 780

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除