![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
¤睿
一叶知秋
展开
-
leetcode-189.旋转数组
题目详情:点此处解法①:相对来说比较容易想到的办法就是借助一个数组来实现也就是将原数组中k以及后面的数据作为新数组前k个数据,原数组中k前面的数据作为新数组k后面的数数据class Solution { public void rotate(int[] nums, int k) { int n=nums.length; int[] num= new int[n]; for(int i=0;i<n;i++){原创 2021-05-12 23:22:14 · 116 阅读 · 0 评论 -
leetcode-80.删除有序数组中的重复项II
题目详情:点此处相比26题,允许了重复数据的个数可以为两个。分析方法与26类似,还是使用双指针法首先判断nums.length<=2,成立返回nums.length因为允许相同数据的个数最多为两个,那么判断的方法就成了判断fast和slow-2的数据是否相等,不等则将nums[slow]=nums[fast]class Solution { public int removeDuplicates(int[] nums) { int n=nums.length;原创 2021-05-07 23:09:29 · 65 阅读 · 0 评论 -
leetcode-26.删除有序数组中的重复项
题目详情:点此处题解:首先需要注意这是一个有序数组解决方法:双指针法先判断数组的长度,如果小于2的话,即可返回本身;大于2的情况,则需要判断快指针和慢指针是否相等,不等则可将当前值赋给慢指针,否则剔除快指针数据。class Solution { public int removeDuplicates(int[] nums) { int n=nums.length; if(n<2) return n; int ans=0;原创 2021-05-07 22:53:19 · 72 阅读 · 0 评论 -
leetcode-27.移出元素
题目描述:点此处解法①:直接覆盖原有数组主要思路,遍历整个数组nums,取出数字变量num,同时设置下标ans如果num!=val,则将nums[ans]=num如果num=val,则跳过,最后ans即为数组最终长度。其实是和双指针解法类似class Solution { public int removeElement(int[] nums, int val) { int ans = 0; for(int num: nums){原创 2021-05-06 23:25:45 · 63 阅读 · 0 评论 -
在刷题中经常用到栈、队列的函数
1.栈常用函数S.top();取出栈顶S.empty();判断栈是否为空。S.push(x);将x入栈S.pop();弹出栈顶S.size();栈的存储元素个数2.队列常用函数Q.empty()判断队列是否为空Q.front()返回队列头部元素Q.back()返回队列尾部元素Q.pop()弹出队列头部元素Q.push(x)将x添加至队列Q.size()返回队列的存储元...原创 2020-04-01 18:09:13 · 817 阅读 · 0 评论 -
leetcode-数组中重复的数字
题目描述:题解1:分析:暴力破解:使用双重循环,挨个判断重复的数字。效率太低class Solution { public int findRepeatNumber(int[] nums) { int num; for(int i=0;i<nums.length;i++){ for(int j=i+1;j<nums.length;j++)...原创 2020-03-13 17:14:54 · 288 阅读 · 0 评论 -
leetcode-剑指offer06-从尾到头打印链表
题目描述:解决思路:题目要求从尾到头打印链表,思路:借助栈来实现。栈遵循先进后出的的原则,正好适用于将链表的数据存储到栈中,然后打印栈就可得到题目要求。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListN...原创 2020-03-26 11:32:34 · 133 阅读 · 0 评论 -
leetcode每日一题—1160. 拼写单词
题目描述:思想:刚看题的时候想用暴力破解来算,可是运行内存和运行时间都会比较长。这个题由于提示里说明“所有字符都只包含小写英文字母”,借用leetcode中的一句话:凡是和“变位词”、“字母顺序打乱”相关的题目,都考虑统计字母出现的次数。首先挨个统计字符串数组中每个字符串字母出现的次数;然后统计字母表里每个字母出现的次数。如果字符串数组里的字符串统计的次数大于字母表里的次数,则不计算;...原创 2020-03-17 17:19:11 · 115 阅读 · 0 评论 -
leetcode-剑指offer-04二维数组中查找
题目描述:①暴力破解:class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { boolean b = false; Label:for (int i = 0; i < matrix.length; i++) { for (int j = 0...原创 2020-03-17 16:07:45 · 88 阅读 · 0 评论