![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣题解
文章平均质量分 51
小赵同学-
愿与诸君聊代码、谈人生、想未来……
展开
-
力扣题解:1941. 检查是否所有字符出现次数相同(Java)
文章目录一、题目描述二、解题方法1、解题思路2、具体代码3、知识点三、总结一、题目描述给你一个字符串s ,如果s是一个“好”字符串,请你返回 true ,否则请返回 false 。如果s中出现过的所有字符的出现次数相同 ,那么我们称字符串s是“好”字符串。例如:输入:s = “abacbc”输出:true解释:s 中出现过的字符为 ‘a’,‘b’ 和 ‘c’ 。s 中所有字符均出现 2 次二、解题方法1、解题思路1、创建HashMap存放字符串中的字符和出现的次数。2、创建HashSe原创 2021-12-09 17:27:06 · 495 阅读 · 0 评论 -
力扣题解:349、两个数组的交集(Java)
文章目录一、题目描述二、排序+指针1、解题思路2、具体代码3、知识点三、哈希表1、解题思路2、具体代码3、知识点四、总结一、题目描述给定两个数组,编写一个函数来计算它们的交集。例如:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]对于这个问题我想到了两种解法。二、排序+指针1、解题思路(1)首先对两个数组进行排序,然后使用两个指针遍历两个数组。(2)初始时,两个指针分别指向两个数组的头部。每次比较两个指针指向的两个数组中的数字,如果两个数字不相原创 2021-12-08 10:44:38 · 783 阅读 · 0 评论 -
力扣题解:21.加一(python版)
文章目录一、问题描述二、第一种解法1、解题思路2、完整代码三、第二种解法1、解题思路四、第三种解法1、解题思路2、完整代码五、收获一、问题描述给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。二、第一种解法1、解题思路把数组转化成一个整数,给这个整数加一,然后又把这个整数转化为数组。2、完整代码def plusOne(digits): list1 =原创 2021-09-13 15:06:39 · 424 阅读 · 0 评论 -
力扣题解:21.合并两个有序链表
文章目录一、题目描述二、迭代法求解1、解题思路2、具体代码三、递归求解1、解题思路2、具体代码四、总结一、题目描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。二、迭代法求解1、解题思路对于链表的问题求解,是需要画图的,大家可以自己在纸上画一画。迭代法的主要思路:创建一个空的头结点res用来存放结果。然后l1和l2两条链的数值进行比较,大的直接链接到ans.next上。剩下的依次比较和挪动指针就可以实现了。2、具体代码 def mergeTwo原创 2021-09-02 21:30:28 · 96 阅读 · 0 评论 -
力扣题解:26.删除有序数组中的重复项(Python版)
文章目录一、题目描述二、完整代码1、双指针解题2、一快一慢双指针解题三、总结一、题目描述给你一个有序数组nums ,请你原地删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组 。在使用 O(1) 额外空间的条件下完成。二、完整代码1、双指针解题def removeDuplicates(nums): left = right = 0 while right < len(nums): if原创 2021-08-21 20:50:27 · 514 阅读 · 0 评论 -
力扣题解:485.最大连续1的个数(Python版)
文章目录一、题目描述二、完整代码三、补充说明四、总结反思一、题目描述给定一个二进制数组, 计算其中最大连续 1 的个数。输入的数组只包含0和1 。输入数组的长度是正整数,且不超过10000。二、完整代码def findMaxConsecutiveOnes(nums): count = result = 0 #count用来记录每段连续1的个数 #result用来存放每个阶段最大连续1的个数 for i in nums:原创 2021-08-21 19:25:00 · 394 阅读 · 2 评论 -
力扣题解:283.移动零(Python版)
文章目录一、题目描述:二、第一种解法:单指针查找1、解题思路2、完整代码三、第二种解法:双指针1、解题思路2、完整代码四、第三种解法:冒泡排序1、解题思路2、完整代码五、总结一、题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。要求:(1)必须在原数组上操作,不能拷贝额外的数组。(2)尽量减少操作次数。二、第一种解法:单指针查找1、解题思路首先设置一个指针tag,从左到右逐位置移动。然后开始遍历数组nums,如果遇到数组元素的值不为零,就原创 2021-08-21 16:39:05 · 281 阅读 · 0 评论 -
力扣题解:27.移除元素(Python版)
力扣第27题:移除元素一、题目描述二、错误示范三、双指针的解题思路四、完整代码五、总结一、题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。二、错误示范我刚看到这个题目,感觉so easy.咚咚咚,我就写了一个程序。def removeElement(nums,val): for原创 2021-08-20 20:55:21 · 572 阅读 · 2 评论 -
力扣题解:1.两数之和(Python版)
力扣第一题:两数之和一、题目描述二、暴力解法1、具体代码(题解写法)2、具体代码(完整写法)三、哈希表四、总结一、题目描述给定一个整数数组 nums和一个整数目标值target,请你在该数组中找出和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。这是小赵同学在刷力扣的时候遇到第一个问题,万事开头难,通过查阅资料和看视频终于解决这个问题。对于这个问题,我想出了两种解法:二、暴力解法1、原创 2021-08-20 14:12:14 · 693 阅读 · 0 评论