随笔分类 - 算法
摘要:今天学弟分享了一下学而思2020年春招算法题,整理一下,希望对有需要的小伙伴有帮助 斐波那契数列题干思路代码数组问题题干思路代码 斐波那契数列 题干 有一对兔子,3个月后,每个月都会生一对兔子,生下的兔子过了3个月,也会每月生一对兔子,假设兔子不会死亡,n个月后总共有多少兔子? 思路 这道题我们可以
阅读全文
摘要:图解快速排序,动图+代码+分析 简述:图解:代码:方法:测试:结果:分析:时间复杂度空间复杂度稳定性 简述: 快速排序(QuickSort)是对冒泡排序的一种改进 它的基本思想是:通过一趟排序将要排序的数据分割成两个独立的部分,其中一部分的所有数据都比另外一部分的所有数据要小,然后再按此方法对这两部
阅读全文
摘要:总结一道leetcode上的高频题,反反复复遇到了好多次,特别适合作为一道动态规划入门题,本文将详细的从读题开始,介绍解题思路。 题目描述示例动态规划分析代码结果 题目 面试题42. 连续子数组的最大和 地址:https://leetcode-cn.com/problems/lian-xu-zi-s
阅读全文
摘要:每道题附带动态示意图,提供java、python两种语言答案,力求提供leetcode最优解。 描述: 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: 输入: n = 12输出: 3 解释: 12
阅读全文
摘要:前言: 每道题附带动态示意图,提供java、python两种语言答案,力求提供leetcode最优解。 描述: 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1,
阅读全文
摘要:前言: 每道题附带动态示意图,提供java、python两种语言答案,力求提供leetcode最优解。 描述: 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 输入: [1,2,3] 1
阅读全文
摘要:前言: 每道题附带动态示意图,提供java、python两种语言答案,力求提供leetcode最优解。 描述: 找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。 示例 1: 输入:s = "aaabb", k = 3 输出:3 最
阅读全文
摘要:描述: 给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。 示例: 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1sumRange(2, 5) ->
阅读全文
摘要:描述: 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。 只有在爱丽丝在
阅读全文
摘要:描述: 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 示例: 例如,给出 n = 3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", "()()()"] 思路: 这道题可以用回溯法解决,即穷举出所有可能,
阅读全文
摘要:描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中
阅读全文
摘要:描述: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [
阅读全文
摘要:描述: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 思路: 这道题
阅读全文
摘要:前言: leetcode前前后后刷了几遍,一直没有坚持下来。这次决定坚持一下,立个flag,一年刷350道题 题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例
阅读全文

浙公网安备 33010602011771号