自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 C和C++中解地址*和取地址&运算符的用法和区别

这里modify传入的是*p的指针**p,也就是指向指针p的指针,在函数内部修改的是指针p的值,也就是说修改的是指针p指向的地址,原来指向的是x的地址,现在修改成指NULL的地址。C语言中函数是传值的,在这个modify函数中,传入的是p指针的副本,在函数内部修改的p指针在外部不体现,如果要修改指针p指向的值,应该用指针的指针,因为p也是一个变量。它表示p的地址的引用,可以理解为它是x的别名,本质上是一个变量,也就是说在函数内部对p的操作就是在对x的操作,这不是副本,和传值是不一样的。

2023-06-11 17:25:19 512

原创 C语言函数的声明中有指针和地址的几种易错情况

的写法是对其取地址,这只能在C++中才能写在函数的声明中,C语言无法实现此操作,只是很多时候写C代码是在C++环境下,且文件后缀名是.cpp,故易混淆。此时函数仍然会返回对list的修改,需要注意的是,这种情况下函数的声明中。此时函数需要的是指针,我们传进去的应该是变量的地址,也就是&list。这个时候,调用函数的格式为。这个时候,调用函数的格式为。此时函数调用的格式为。

2023-06-09 20:03:31 291

原创 快速排序Java实现

快速排序Java实现

2023-03-01 16:38:20 221

原创 归并排序Java实现

归并排序Java实现【详细注释】

2023-03-01 16:34:35 193

原创 Java-全排列

输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。输入:nums = [1,2,3]输出:[[0,1],[1,0]]输入:nums = [0,1]输入:nums = [1]

2023-02-20 17:49:17 662

原创 Java-路径总和

判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum。输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22。输入:root = [1,2,3], targetSum = 5。解释:由于树是空的,所以不存在根节点到叶子节点的路径。不存在 sum = 5 的根节点到叶子节点的路径。解释:等于目标和的根节点到叶节点路径如上图所示。叶子节点 是指没有子节点的节点。

2023-02-20 16:29:59 355

原创 Java-斐波那契数列

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。F(N) = F(N - 1) + F(N - 2), 其中 N > 1.

2023-02-19 16:04:00 503

原创 Java-环形链表

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。输入:head = [3,2,0,-4], pos = 1。给你一个链表的头节点 head ,判断链表中是否有环。输入:head = [1,2], pos = 0。解释:链表中有一个环,其尾部连接到第二个节点。解释:链表中有一个环,其尾部连接到第一个节点。输入:head = [1], pos = -1。解释:链表中没有环。

2023-02-19 15:46:07 439

原创 Java-多数元素

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入:nums = [2,2,1,1,1,2,2]输入:nums = [3,2,3]

2023-02-18 22:22:24 72

原创 Java-两个数组的交集

给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输入:nums1 = [1,2,2,1], nums2 = [2,2]

2023-02-18 22:00:10 711

原创 Java-合并两个链表

输入:list1 = [0,1,2,3,4,5,6], a = 2, b = 5, list2 = [1000000,1000001,1000002,1000003,1000004]输入:list1 = [0,1,2,3,4,5], a = 3, b = 4, list2 = [1000000,1000001,1000002]输出:[0,1,1000000,1000001,1000002,1000003,1000004,6]输出:[0,1,2,1000000,1000001,1000002,5]

2023-02-18 21:00:20 535

原创 Java-零矩阵

编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。

2023-02-17 16:07:52 354

原创 Java-检查好数组

给你一个正整数数组 nums,你需要从中任选一些子集,然后将子集中每一个数乘以一个 任意整数,并求出他们的和。假如该和结果为 1,那么原数组就是一个「好数组」,则返回 True;否则请返回 False。输入:nums = [12,5,7,23]输入:nums = [29,6,10]解释:挑选数字 29, 6 和 10。输入:nums = [3,6]判断两个数的最大公约数可以参考。解释:挑选数字 5 和 7。

2023-02-16 16:55:11 104

原创 Java-猜数字大小

每轮游戏,我都会从 1 到 n 随机选择一个数字。请你猜选出的是哪个数字。0:我选出的数字和你猜的数字一样。如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。-1:我选出的数字比你猜的数字小 pick < num。1:我选出的数字比你猜的数字大 pick > num。输入:n = 10, pick = 6。输入:n = 1, pick = 1。输入:n = 2, pick = 1。输入:n = 2, pick = 2。

2023-02-16 16:22:08 454

原创 Java-唯一摩尔斯密码词

例如,“cab” 可以写成 “-.-…” ,(即 “-.-.” + “.-” + “-…” 字符串的结合)。给你一个字符串数组 words ,每个单词可以写成每个字母对应摩尔斯密码的组合。输入: words = [“gin”, “zen”, “gig”, “msg”]对 words 中所有单词进行单词翻译,返回不同 单词翻译 的数量。共有 2 种不同翻译, “–…‘c’ 对应 “-.-.” ,以此类推。输入:words = [“a”]‘a’ 对应 “.-” ,‘b’ 对应 “-…

2023-02-16 16:07:45 81

原创 Java-分割数组中数字的数位

给你一个正整数数组 nums ,请你返回一个数组 answer ,你需要将 nums 中每个整数进行数位分割后,按照 nums 中出现的 相同顺序 放入答案数组中。比方说,整数 10921 ,分割它的各个数位得到 [1,0,9,2,1]。对一个整数进行数位分割,指的是将整数各个数位按原本出现的顺序排列成数组。输入:nums = [13,25,83,77]解释:nums 中每个整数的分割是它自己。输出:[1,3,2,5,8,3,7,7]输入:nums = [7,1,3,9]输出:[7,1,3,9]

2023-02-15 21:45:48 496

原创 Java-分发饼干

对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。但是,每个孩子最多只能给一块饼干。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。输入: g = [1,2,3], s = [1,1]输入: g = [1,2], s = [1,2,3]

2023-02-15 21:25:30 233

原创 Java-转置矩阵

给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵。输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4,7],[2,5,8],[3,6,9]]输出:[[1,4],[2,5],[3,6]]

2023-02-15 20:48:11 1154

原创 Java-HashMap putVal源码分析

Java-HashMap putVal源码分析。

2023-01-28 23:58:19 163

原创 Java-第一个错误版本

你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。调用 isBadVersion(4) -> true。输入:n = 5, bad = 4。输入:n = 1, bad = 1。所以,4 是第一个错误的版本。

2023-01-12 19:20:27 126

原创 Java-缺失的数字

解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。解释:n = 9,因为有 9 个数字,所以所有的数字都在范围 [0,9] 内。解释:n = 1,因为有 1 个数字,所以所有的数字都在范围 [0,1] 内。给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。输入:nums = [9,6,4,2,3,5,7,0,1]

2023-01-09 23:31:20 670

原创 Java-移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]输入: nums = [0]

2023-01-05 19:45:33 202

原创 Java-删除有序数组中的重复项

给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]输出:2, nums = [1,2,_]输入:nums = [1,1,2]

2023-01-04 19:34:16 499

原创 Java-合并两个有序数组

输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并 [1,2,3] 和 [2,5,6]。解释:需要合并的数组是 [] 和 [1]。输出:[1,2,2,3,5,6]

2023-01-03 19:30:12 396

原创 Java-数组乘积中不同质因数数目

nums 中所有元素的乘积是:2 * 4 * 3 * 7 * 10 * 6 = 10080 = 25 * 32 * 5 * 7。给你一个正整数数组 nums ,对 nums 所有元素求积之后,找出并返回乘积中 不同质因数 的数目。nums 中所有元素的乘积是:2 * 4 * 8 * 16 = 1024 = 210。输入:nums = [2,4,3,7,10,6]共有 4 个不同的质因数,所以返回 4。共有 1 个不同的质因数,所以返回 1。输入:nums = [2,4,8,16]

2023-01-02 15:08:59 189

原创 Java-加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。输入:digits = [4,3,2,1]输入:digits = [1,2,3]解释:输入数组表示数字 4321。解释:输入数组表示数字 123。输入:digits = [0]输出:[4,3,2,2]输出:[1,2,4]

2022-12-30 16:07:29 413

原创 Java-岛屿数量

给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。输入:grid = [输入:grid = [

2022-12-29 15:14:16 229

原创 Java-搜索二维矩阵

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13。输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3。编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。利用二分查找,将二维数组转化为一维。

2022-12-26 16:08:51 95

原创 Java-Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

2022-11-08 21:51:16 799

原创 Java-判断各类型字符个数

输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数

2022-11-07 22:29:24 1079

原创 Java-各数相加

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。

2022-11-07 21:48:28 321

原创 Java-设计Goal解析器

请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 "G"、"()" 和/或 "(al)" 按某种顺序组成。Goal 解析器会将 "G" 解释为字符串 "G"、"()" 解释为字符串 "o" ,"(al)" 解释为字符串 "al" 。然后,按原顺序将经解释得到的字符串连接成一个字符串。

2022-11-06 21:54:01 120

原创 Java-数组拆分

给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。

2022-11-06 21:04:36 1547

原创 Java-两个数组交集

给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序

2022-11-05 19:52:28 1129

原创 Java-反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

2022-11-04 19:51:22 374

原创 Java-最小公倍数

编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数

2022-11-02 19:50:45 85

原创 Java-有序数组中的单一元素

给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。

2022-11-01 16:48:31 160

原创 Java-判断质数

输入描述:一个大于1的整数输出描述:true/false

2022-11-01 15:05:57 144 1

原创 【无标题】

输入6个整数,先将其输出然后再将数组倒转,再次输出数组输入描述:用户随机输入的6个int类型变量输出描述:先输出用户输入顺序的数组(这一步预设代码已给出)再输出反转后的数组(输出格式为Arrays.toString(arr),参考预设代码中的输出格式)

2022-10-31 20:39:55 67

原创 Java-两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数

2022-10-31 20:05:36 125

空空如也

空空如也

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

TA关注的人

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