![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题小技能
Iam摸鱼小能手
新手。多多指教
展开
-
leetcode刷题总结 “在数组中找顺序数or逆序数”类问题
581. 最短无序连续子数组三级目录三级目录https://leetcode-cn.com/problems/shortest-unsorted-continuous-subarray/原创 2021-09-25 21:11:32 · 1654 阅读 · 0 评论 -
leetcode刷题总结 “连续子串和==k”类问题
连续子串和 == k问题描述问题描述原创 2021-09-13 22:37:19 · 1910 阅读 · 0 评论 -
机试刷题 排序算法 代码总结
排序算法(正在更新。。。)堆排序快排堆排序public void heapSort(int[] nums){//大顶堆,用来做升序排序 int len = nums.length; for(int i=len; i>1; i--){ maxHeap(nums,i); swap(nums, 0, i-1); }}public void maxHeap(int[] nums, int realSize){//从最后一个子树开始向前调整 for(int i=realSize/2-1;原创 2021-08-18 15:51:42 · 68 阅读 · 0 评论 -
152. 乘积最大子数组
152. 乘积最大子数组题目错误解答正确解答代码实现题目给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。错误解答错误在于dp_all这个数组,我用这个数组保存了从头到当前所有数字的连乘,这样做为了保存负数,刚开始没发现错误,但这个错误很明显:保存了负数但是从头开始算起的,对于那些从中间的负数算起的情况不满足了,比如:2,-5,-2,-4,3。最终结果取-2,-4,3。而我的答案是2,-5,-2。class Solutio原创 2021-08-10 18:51:47 · 41 阅读 · 0 评论 -
146. LRU 缓存机制
146. LRU 缓存机制题目错误思路正确解法代码实现题目设计一个LRU(最近最久未使用)的数据结构,主要有两个操作:put(将新的键值对加入LRU)、get(取出key对应的value)能否在 O(1) 时间复杂度内完成这两种操作?错误思路我刚开始知道实现一个LRU是使用一个哈希表和一个链表。我是这样写的:哈希表保存LRU现有的键值对;链表的头是最近最久未使用,尾是最近使用过的,这样排序的起来的。put操作:如果LRU未满,直接加入链表的尾部,键值对加入哈希表;如果LRU满了,就要淘汰链表原创 2021-08-06 21:30:15 · 57 阅读 · 0 评论 -
142. 环形链表 II
142. 环形链表 II题目描述我的解答代码实现题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?来源:力扣(LeetCode)链接:https://leetcode-cn.co原创 2021-08-05 18:40:55 · 68 阅读 · 0 评论 -
128. 最长连续序列
128. 最长连续序列题目我的理解题目给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例 1:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-consecutive-sequence原创 2021-07-29 21:22:16 · 108 阅读 · 0 评论 -
leetcode 114. 二叉树展开为链表
114. 二叉树展开为链表题目我的理解题目给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list我的理解按先序遍历串成链表对于先序遍历的顺序原创 2021-07-28 21:34:35 · 81 阅读 · 0 评论 -
二叉树先序遍历、中序遍历、后序遍历的非递归解法
二叉树先序遍历、中序遍历、后序遍历的非递归解法中序遍历 非递归先序遍历 非递归后序遍历 非递归这里总结了非递归的不同解法中序遍历 非递归//中序遍历 非递归void inorderTraservel(TreeNode root){ TreeNode p = root; Deque<TreeNode> stack = new LinkedList<>(); while(p != null || !stack.isEmpty()){ whi原创 2021-07-27 10:59:11 · 160 阅读 · 0 评论 -
刷题小技能:java实现对二维数组中的一维数组进行排序
刷题小技能:java实现对二维数组中的一维数组进行排序功能描述代码实现功能描述有这样一个二维数组int[][] two = new int[n][2];要对二维数组进行排序,实现对其元素,即其中的一维数组:按照数组第一个元素进行排序;如果第一个元素相等,则按照第二个元素进行排序;以此类推代码实现Arrays.sort(intervals, new Comparator<int[]>(){ @Override public int compare(int[] a1原创 2021-07-19 10:50:49 · 431 阅读 · 0 评论