- 博客(206)
- 收藏
- 关注
原创 LeetCode刷题笔记第49题:字母异位词分组
遍历列表中的所有字符串,将字符串中字符进行排序并作为字典的键,并将原字符串做为值保存,最终输出字典的值就是最终的答案。
2024-08-08 22:50:19
368
原创 华为机试HJ73计算日期到天数转换
要计算天数首先要判断是否为闰年,构建闰年和非闰年到每个月底总共有多少天,并存入字典中,当计算日期时,取到前一个月之前的总天数,加上当前月的天数得到总的天数。
2024-07-30 13:29:09
201
原创 华为机试HJ56完全数计算
通过双层循环统计输入数字的完全数,第一层循环遍历输入数字,第二层循环判断当前数字是否是完全数。循环遍历结束后输出统计的完全数。
2024-07-29 17:54:46
129
原创 数据结构与算法_排序_快速排序
选择一个基准元素,将小于基准元素的放在基准元素的左边,将大于基准元素的放在基准元素的右边,此时基准元素的位置确定,将基准元素的两边元素进行重复操作,直至所有元素排序完成。
2024-07-28 22:16:39
318
原创 数据结构与算法_排序_快速排序
选择一个基准元素,将小于基准元素的放在基准元素的左边,将大于基准元素的放在基准元素的右边,此时基准元素的位置确定,将基准元素的两边元素进行重复操作,直至所有元素排序完成。
2024-07-24 23:14:54
120
原创 华为机试HJ60查找组成一个偶数最接近的两个素数
构建一个判断是否为素数的函数,再构建一个函数输出构成输入数值相差最小的两个素数。为了保证两个素数相差最小,从输入数值的二分之一处开始判断,遍历得到的两个素数是相差最小的素数。
2024-07-21 09:55:07
192
原创 华为机试HJ102字符统计
需要统计字符串中每个字符出现的次数,并将其按照次数从大到小排序,如果数量相同的字符要按照ASCII码从小到大排序。先遍历整个字符串统计每个字符的数量,再使用冒泡排序对字符数量和ASCII码进行排序并输出。因为构建了统计字符串数量的字典和字典键值的列表,因此空间复杂度为。因为遍历字符串的时间复杂度。,冒泡排序的时间复杂度是。,因此总时间复杂度是。
2024-07-20 10:18:17
404
原创 华为机试HJ97记负均正
遍历输入的列表,记录所有负数的个数,记录所有正数的个数,并累加所有正数,最终获得所有负数的个数和正数的平均值。因为使用了几个额外的记录,因此空间复杂度为。因为遍历了整个列表,因此时间复杂度为。
2024-07-19 13:25:58
222
原创 华为机试HJ81字符串字符匹配
将长字符串构建为字典,遍历短字符串,查找短字符串中的字符是否在字典中。时间复杂度分析:因为构建字典的时间复杂度是。,遍历短字符串的时间复杂度是。空间复杂度分析:构建字典需要。,字典查询的时间复杂度是。
2024-07-18 11:55:15
272
原创 华为机试HJ94记票统计
构建一个候选人字典,统计所有候选人的票数,利用总票数和所有候选人的票数差得到无效票数,并输出结果。因为构建字典的时间复杂度是。,字典检索的时间复杂度是。,遍历字典的时间复杂度是。
2024-07-15 09:43:58
386
原创 LeetCode刷题笔记第3011题:判断一个数组是否可以变为有序
使用冒泡排序进行排序,在判断大小条件时加入判断二进制下数位为1的数目是否相同,相同则可以进行互换。最后遍历数组,相邻两两之间是否具有升序关系,是则返回true,否则返回false。因为没有使用额外的空间,因此空间复杂度为。,判断是否升序的时间复杂度是。,因此上述代码的时间复杂度为。因为冒泡排序的时间复杂度是。
2024-07-13 10:44:21
420
原创 LeetCode刷题笔记第2974题:最小数字游戏
按照题目所述,如果是一个升序的数组,想要得到题目所需结果,将每两位数字位置互换即可。所以先使用快速排序将无序数组变为升序数组。遍历数组,将每两位位置互换。时间复杂度是:O(nlogn)。(快速排序的时间复杂度是O(nlogn),遍历是O(n))空间复杂度是:O(1)。(没有使用额外的空间)
2024-07-12 12:22:52
185
原创 华为机试HJ108求最小公倍数
要找到输入的两个数的最小公倍数,这个最小公倍数要大于等于其中最大的那个数值,遍历最大的那个数值的倍数,最大的最小公倍数就是输入的两个数值的乘积。
2024-07-09 22:26:11
259
原创 华为机试HJ51输出单向链表中倒数第k个结点
因为要用链表,且要找到倒数第k个结点,针对输入序列倒叙进行构建链表并找到对应的元素输出。注意因为有多个输入,要能接受多次调用。上述代码中先构建链表结点类,使用while循环使得代码可以接受多个输入。
2024-07-07 21:53:23
226
原创 华为机试HJ35蛇形矩阵
从题目中得到规律,第一行是每个位置上的等差数列的和(第一个位置是1,第二个位置是1+2,第三个位置是1+2+3,以此类推)。第二行是第一行从第二个位置每个元素减一,依次类推。
2024-07-07 00:34:13
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人