从零开始刷Leetcode
程序员阿伦
这个作者很懒,什么都没留下…
展开
-
从零开始刷Leetcode day19 896. 单调数列
单调数列如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。示例 1:输入:[1,2,2,3]输出:true示例 2:输入:[6,5,4,4]输出:true示例 3:输入:[1,3,2]输出:false示例 4:输入原创 2021-02-28 15:30:23 · 79 阅读 · 0 评论 -
从零开始刷Leetcode day18 832. 翻转图像
832. 翻转图像标签:数组难度:简单给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入:[[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,1]]解原创 2021-02-26 13:56:45 · 104 阅读 · 0 评论 -
从零开始刷Leetcode day17 转置矩阵
867. 转置矩阵难度:简单给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]提示:m == matrix.lengthn == m原创 2021-02-26 13:54:04 · 86 阅读 · 0 评论 -
从零开始刷Leetcode day15 109 有序链表转换二叉搜索树(Convert Sorted List to Binary Search Tree )
有序链表转换二叉搜索树-java解法给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5Given the hea原创 2020-08-18 17:47:00 · 104 阅读 · 0 评论 -
从零开始刷Leetcode day14 字符串相乘(Clone Graph )
字符串相乘-java解法给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string.示例 1:输入: num1 = “2”, num2 = “3”输出: “6”原创 2020-08-13 11:21:06 · 173 阅读 · 0 评论 -
从零开始刷Leetcode day13 克隆图(Clone Graph )
克隆图-java解法给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。Given a reference of a node in a connected undirected graph.Return a deep copy (clone) of the graph.Each node in the graph contains a val (int) and a list (List[Nod原创 2020-08-12 10:23:59 · 223 阅读 · 0 评论 -
从零开始刷Leetcode day12 被围绕的区域(Surrounded Regions)
被围绕的区域-java解法给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。Given a 2D board containing ‘X’ and ‘O’ (the letter O), capture all regions surrounded by ‘X’.A region is captured by flipping all 'O’s into 'X’s in that surrounded regio原创 2020-08-11 15:02:33 · 120 阅读 · 0 评论 -
数据结构与算法-----BFS与DFS(广度优先搜索与深度优先搜索)
DFS:(Deep First Search)深度优先搜索。是一种利用队列实现的搜索算法。简单来说,其搜索过程和 “湖面丢进一块石头激起层层涟漪” 类似。BFS:(Breath First Search)广度优先搜索。是一种利用递*归实现的搜索算法。简单来说,其搜索过程和 “不撞南墙不回头” 类似。BFS 的重点在于队列,而 DFS 的重点在于递归。这是它们的本质区别。话不多说,先从DFS说起。**1.DFS(深度优先搜索)深度优先搜索的步骤:递归下去,回溯上来。顾名思义,深度优先,则是以原创 2020-08-11 11:11:15 · 208 阅读 · 0 评论 -
从零开始刷Leetcode day11 计数二进制子串(Count Binary Substrings)
打家劫舍 III-java解法在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。The thief has found himself a new place for his thievery a原创 2020-08-10 16:40:22 · 141 阅读 · 0 评论 -
从零开始刷Leetcode day010 三数之和(3SUM)
最长公共前缀(Longest Common Prefix)-java解法编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。java解法 :1.暴力解法代码:class Solution { public原创 2020-07-27 11:51:12 · 68 阅读 · 0 评论 -
从零开始刷Leetcode day010 罗马数字转整数(Roman to Integer)
罗马数字转整数(Roman to Integer)-java解法罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值符号数值I1V5X10L50C100D500M1000Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.例如, 罗马数字 2 写做 II ,即为两个并列的转载 2020-07-17 14:15:54 · 89 阅读 · 0 评论 -
从零开始刷Leetcode day09 整数转罗马数字(Integer to Roman)
整数转罗马数字(Integer to Roman)-java解法罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值符号数值I1V5X10L50C100D500M1000Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M例如, 罗马数字 2 写做 II ,即为两个并列的 1原创 2020-07-15 18:12:42 · 106 阅读 · 0 评论 -
从零开始刷Leetcode day08 盛最多水的容器(Container With Most Water)
回文数(Palindrome Number)-java解法给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。Given n non-negative integers a1, a2, …, an , where each represents a point at原创 2020-07-10 13:46:31 · 126 阅读 · 0 评论 -
从零开始刷Leetcode day07 回文数(Palindrome Number)
整数反转(Reverse Integer)-java解法给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。Given a 32-bit signed integer, reverse digits of an integer.示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21java解法:无需考虑符号,只需从后向前取数字(x%10),将它依次放在高位(x/10),最后在返回的时候判断原创 2020-07-09 14:26:25 · 174 阅读 · 0 评论 -
从零开始刷Leetcode day06 整数反转(Reverse Integer)
整数反转(Reverse Integer)-java解法给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。Given a 32-bit signed integer, reverse digits of an integer.示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21java解法:无需考虑符号,只需从后向前取数字(x%10),将它依次放在高位(x/10),最后在返回的时候判断原创 2020-06-14 23:15:24 · 107 阅读 · 0 评论 -
从零开始刷Leetcode day06 字符串转换整数 (String to Integer (atoi))
整数反转(Reverse Integer)-java解法给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。Given a 32-bit signed integer, reverse digits of an integer.示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21java解法:无需考虑符号,只需从后向前取数字(x%10),将它依次放在高位(x/10),最后在返回的时候判断原创 2020-06-14 22:32:49 · 88 阅读 · 0 评论 -
从零开始刷Leetcode day05 Z字形变换(ZigZag Conversion)
最长回文子串(Longest Palindromic Substring)-java解法给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.示例1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示原创 2020-06-05 22:19:11 · 142 阅读 · 0 评论 -
从零开始刷Leetcode day04 最长回文子串(Longest Palindromic Substring)
最长回文子串(Longest Palindromic Substring)-java解法给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.示例1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示原创 2020-06-04 22:11:53 · 159 阅读 · 1 评论 -
从零开始刷Leetcode day03 寻找两个正序数组的中位数(Median of Two Sorted Arrays)
class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int n1 = nums1.length; int n2 = nums2.length; int[] merge = new int[n1+n2]; int p= 0; int q = 0; int count = 0; wh原创 2020-06-03 22:23:52 · 100 阅读 · 0 评论 -
从零开始刷Leetcode day02 无重复字符的最长子串(Longest Substring Without Repeating Characters)
无重复字符的最长子串(Longest Substring Without Repeating Characters)-java解法给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。Given a string, find the length of the longest substring without repeating characters.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-substring-原创 2020-06-01 19:48:35 · 114 阅读 · 0 评论 -
从零开始刷Leetcode day01 两数相加(Add Two Numbers)
两数相加(Add Two Numbers)-java解法给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。You are given two non-empty linked lists representing two non-negative integers. The digits are s原创 2020-05-31 22:29:20 · 157 阅读 · 0 评论 -
从零开始刷Leetcode day01 两数之和(Two Sum)
两数之和(Two Sum)-java解法给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input wo原创 2020-05-31 20:53:27 · 302 阅读 · 0 评论