Leey's

独立思考,以行践言


  • 首页

  • 标签

  • 目录

  • 归档

  • 搜索

283. 移动零

发表于 2021-02-24   |   分类于 LeetCode   |   暂无评论

描述

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

说明

  1. 必须在原数组上操作,不能拷贝额外的数组。
  2. 尽量减少操作次数。

解题思路

双指针把非0元素前移,然后末尾添0。

阅读全文

66. 加一

发表于 2021-02-24   |   分类于 LeetCode   |   暂无评论

描述

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。

解题思路

最开始打算转换成数字类型,然后进行加法运算后再转换成数组。但后来考虑到数组长度范围为0-100,可能导致溢出,便直接对数组进行操作,只需要考虑进位即可。



阅读全文

350. 两个数组的交集 II

发表于 2021-02-23   |   分类于 LeetCode   |   暂无评论

描述

给定两个数组,编写一个函数来计算它们的交集。

说明:

输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。
我们可以不考虑输出结果的顺序。

进阶:

如果给定的数组已经排好序呢?你将如何优化你的算法?
如果 nums1 的大小比 nums2 小很多,哪种方法更优?
如果 nums2 的元素存储在磁盘上,内存是有限的,并且你不能一次加载所有的元素到内存中,你该怎么办?

解题思路

和前几天做的题目很类似,想到了两种办法,一个是利用hash表进行统计,另一个就是对两个数组进行排序,然后通过遍历的方式进行统计。




阅读全文

136. 只出现一次的数字

发表于 2021-02-22   |   分类于 LeetCode   |   暂无评论

描述

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明:

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

解题思路

该问题首先想到的方法应该是先对数组排序,然后消去包含重复的值。其次就是使用哈希表,根据add函数的返回值对set内的元素进行增删,由于只有一个元素是出现一次,其他元素均出现两次,最后hash表中只会包含一个元素--目标元素。

阅读全文

217. 存在重复元素

发表于 2021-02-21   |   分类于 LeetCode   |   暂无评论

描述

给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

解题思路

该问题首先想到的方法应该是先对数组排序,然后在判断是否包含重复的值。但该问题的标签中包含哈希表,提醒我可以用hashset给数组去重,然后根据hashset的长度以及原始数组的长度判断是否存在重复的元素。


阅读全文

1...3456789
0x19A

0x19A

44 文章
5 分类
27 标签
GitHub V2EX
© 2025 本站总访问量:56,408次 0x19A
Typecho
主题 - NexT.Pisces