-
LeetCode - 0118.杨辉三角 & 0119.杨辉三角II
2022-04-27
0118.杨辉三角 和 0119.杨辉三角II 这两个题目都是在解决同一个问题,所以放在一起解答。 题目1 来源:0118.杨辉三角 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 难度:简…
-
LeetCode - 0070.爬楼梯
2022-04-25
题目 来源:0070.爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 难度:简单 示例1 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例2 输入:n = 3 输出:3…
-
LeetCode - 0053.最大子数组和
2022-04-25
题目 来源:0053.最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 难度:简单 示例1 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例2…
-
LeetCode - 004.寻找两个正序数组的中位数
2022-04-12
题目 来源:004.寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数。 算法的时间复杂度应该为 O(log(m+n))。 难度:困难 示例1 输入:nums1 = [1, 3], nums2 = [2] 输出:2…
-
LeetCode - 003.无重复字符的最长子串
2022-04-07
题目 来源:003.无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例1 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例2 输入: s = "bbbbb" 输出: 1 解释: 因为无…
-
二叉查找树
2021-09-02
在一组排好序的数中查找某个值是否在,有一种常用的方法叫做二分查找。二分查找的思想是,先判断这组数中间位置的那个元素是否和目标值相等,如果相等,则这个元素就是要查找的元素;否则,将数组从中间位置分成两半,假设数组是升序的,那么左半部分小于(等…
-
LeetCode - 139.单词拆分
2020-11-04
题目 来源:139.单词拆分 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明 拆分时可以重复使用字典中的单词 你可以假设字典中没有重复的单词 示例1 输入: s = "leetcode", wordDict = ["leet", "code"] 输出:…
-
摩尔投票算法
2020-09-27
leetcode 169. 多数元素(majority element) 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例1 输入: [3,2,3] 输出: 3 示例2 输入: [2,2,1,1,1,2,2] 输出: 2 一些常用解法: 遍历…
-
常见排序算法总结
2020-05-19
在我们的编程工作中,经常会对一组数据做排序操作,排序的算法也有很多。这里总结了几个常见的排序算法,以下默认都是升序。 冒泡排序 考虑一组数 [3, 2, 5, 1, 4],我们想让他以升序的方式排序,那么最大的数 5 是要排在最后一个位置,4 排在倒数第二个位置,以此类…