
leetcode刷题
文章平均质量分 61
Aylwang
这个作者很懒,什么都没留下…
展开
-
半有序数组的最值查找(二分法)
1. 旋转数组的最小值剑指offer 11题目描述:数组的旋转,就是把一个数组开始的若干个元素搬到数组的末尾。输入一个有序数组的旋转数组,求出其最小值的高效算法。示例1:输入:[3,4,5,1,2] 输出:1示例2:输入:[2,2,2,0,1] 输出:0示例3 : 输入:[1,1,1,0,1] 输出:0思路其中横轴表示数组元素的下标,纵轴表示数组元素的值。图中标出了最小值的位置,是我们需要旋转的目标。我们考虑数组中的最后一个元素 x:在最小值右侧的原创 2021-03-18 20:49:23 · 320 阅读 · 0 评论 -
二维数组的高效查找
二维数组的查找剑指offer 04题目描述:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { if(matrix == null || matrix.length == 0原创 2021-03-17 18:40:56 · 573 阅读 · 1 评论 -
翻转字符串里的单词(4种解法)
力扣151:翻转字符串里的单词题目描述:给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个 单词 。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。示例 1:输入:“the sky is blue”输出:“blue is sky the”示例 4:输入:s = " Bob Loves Alice "输出:“Alice Loves Bob”这道题目用了四种不同的解法原创 2021-03-13 20:24:26 · 4078 阅读 · 0 评论 -
树的基础知识2-二叉树的构造
1. 从中序和后序遍历构造二叉树力扣106题目描述:根据一棵树的中序遍历与后序遍历构造二叉树。你可以假设树中没有重复的元素。中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树:3/ 9 20/ 15 7class Solution { int[] inorder;//因为在creatTree方法中用到这两个数组变量了 int[] preorder; Map<Int原创 2021-03-06 16:23:16 · 419 阅读 · 1 评论 -
leetcode链表题汇总(中等难度)
445.用链表表示的两个数相加题目描述:两个非空链表代表两个非负整数,数字最高位是头节点,每个节点存储一位数字,两数相加返回一个和的新链表。可以假设除了0之外,数字都不会以0开头。(这个假设没有实质性作用)示例:输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 8 -> 0 -> 7特殊示例:(对于进位处理的深度考虑)输入:5 + 5输出:1->0思路分析:加法从低位开始,即从链表的尾节点原创 2021-02-01 11:02:13 · 1227 阅读 · 0 评论 -
链表简单题总结(待续)
链表题总结02.02题:单链表中返回倒数第k个节点方法1:常规法思路:常规想法:先得到链表长度,再遍历得到倒数第k个数/*Definition for singly-linked list.public class ListNode {int val;ListNode next;ListNode(int x) { val = x; }}*/class Solution {public int kthToLast(ListNode head, int k原创 2020-12-09 20:51:32 · 256 阅读 · 0 评论