![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
力扣
刷题
Colourful.
这个作者很懒,什么都没留下…
展开
-
移除数组中与指定元素相同的元素
题目: 示例: 实现思路:要求空间复杂度为O(1),那我们就不能使用额外的空间,这个时候我们能想到的只有双指针法。同样定义两个快慢指针slow、fast,fast用于遍历数组。按照之前我的想法是,从前往后遍历数组,当nu原创 2021-10-06 09:56:51 · 282 阅读 · 0 评论 -
删除有序数组中的重复元素(要求空间复杂度为O(1))
题目: 示例: 思路:采用双指针法,定义一个慢指针,定义一个快指针。慢指针指向已经去重的数组,快指针用来遍历原数组。当慢指针指向的元素和快指针指向的元素相同时,让快指针自增,直到遇到不同的元素,此时慢指针向前挪动一个元素原创 2021-10-05 15:53:01 · 577 阅读 · 0 评论 -
最长公共前缀
题目: 示例: 思路:说一下我最开始的思想,最开始我想的是能不能将数组中的各个字符串取出来,然后将其转换为char[]数组,再定义三个指针,同时遍历三个数组,这样就可以找到最长的公共前缀了。但是后来一想,有个问题没办法解原创 2021-10-05 14:57:22 · 153 阅读 · 0 评论 -
罗马数字转整数
题目: 示例: 思路:一个罗马数字对应一个整数,我们可以把它们想成一个映射关系。使用一个Map集合来存储这个映射关系。由于题目中已经告诉我们,罗马数字中小的数字在大的数字右边,但也有例外,我们只需要把例外的情况诺列出来即原创 2021-10-05 14:09:36 · 124 阅读 · 0 评论 -
有效的括号
题目: 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足:原创 2021-09-30 15:05:15 · 93 阅读 · 0 评论 -
替换空白空格
题目:将字符串中的空格替换为 “%20”。 思路:转为字符数组。 难度指数:一颗星 代码实现: // 将字符串中出现空格 替原创 2021-08-17 14:05:56 · 99 阅读 · 0 评论 -
判断一个数是否是回文数
题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 1原创 2021-08-04 11:01:31 · 1801 阅读 · 0 评论 -
整数的反转
反转整数 题目:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围(-2147483648~2147483647),就返回0。 实例: 输入:x = 123 原创 2021-07-30 14:10:08 · 339 阅读 · 0 评论 -
无重复字符的最长子串
无重复字符的最长子串 题目:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例: 输入: s = “a转载 2021-07-29 11:53:20 · 122 阅读 · 0 评论 -
数组中最小的k个数
数组中最小的k个数 题目:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 思路:使用快排的思想,我们知道,快排的一次划分过程的结果是将所有小于基准元素的元素放在该基准元素的前面,所有大于基准元素的元素放在该基准元素的后面。这样,我原创 2021-07-22 11:00:21 · 288 阅读 · 0 评论 -
数组中出现超过数组长度一半的数字
数组中出现超过数组长度一半的数字 题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 思路一:哈希法。我们可以创建一个HashMap。其中键为数组中的元素,其对应的值为该元素在数组中出现的次数。 时间复杂度原创 2021-07-21 13:15:45 · 183 阅读 · 0 评论 -
调整数组使得奇数在前偶数在后
调整数组使得奇数在前偶数在后 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 思路:定义两个指针,分别记作head、tail。head一直往后走,直到指向的数据不是奇数时,交换head和tail所指的数据。tail一直往前走,直到指向的数据不是原创 2021-07-21 11:26:47 · 116 阅读 · 0 评论 -
排序数组中查找数字
排序数组中查找数字 题目:统计一个数字在排序数组中出现的次数。 思路:二分查找。由于题目给出的条件是有序数组,所以我们首先想到二分查找。 本题的难度在于,在我们找到目标元素在数组中的位置后,我们不能确定它的前面和后面的元素是不是也是跟它相同的元素,这就导致了,在我们确定二目标元素位置后,没有办法选择是向右半部分还是左半部分继续查询。这个时候,我们可以模拟一个窗口,定原创 2021-07-20 11:38:56 · 232 阅读 · 0 评论 -
旋转数组中的最小数字
旋转数组中的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 思路: &原创 2021-07-20 10:36:45 · 198 阅读 · 0 评论 -
二维数组的查找
二维数组的查找题目: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序,每一列都从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例: 现有矩阵ar如下: [  原创 2021-07-15 16:09:07 · 193 阅读 · 0 评论 -
数组:两数之和
两数之和题目: 给定一个整数数组 nums 和 一个整数目标值target,请你在该数组中找出 和为目标值的 那 两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,但是,数组中同一个元素不能使用两遍。示例一: 输入: nums = [2,7,11,15] ,target原创 2021-05-17 10:12:11 · 1004 阅读 · 0 评论 -
算法题(数组:合并两个有序的数组)
合并两个有序的数组题目: 给出两个有序的整数数组A和B,请将数组B合并到数组A中,变成一个有序的数组。 注意:将设A数组有足够的空间存放B数组的元素,A和B中初始的元素数目分别为m和n。思路一:使用双指针 我们已知两个有序的数组。且数组A中有足够多的位置能容纳下数组B。...原创 2021-05-06 17:43:14 · 1222 阅读 · 0 评论