![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
17号技师
这个作者很懒,什么都没留下…
展开
-
动态规划
动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。例子:最长公共子串问题问题描述:求两字符序列的最长公共字符...原创 2020-04-25 21:50:27 · 143 阅读 · 0 评论 -
2020度小满金融春招笔试
/** * @description: 传送门 * 时间限制:C/C++语言 1000MS;其他语言 3000MS * 内存限制:C/C++语言 65536KB;其他语言 589824KB * 题目描述: * 西西所在的国家有N座城市,每座城市都有一道传送门,城市 i 的传送门通往城市 a[i]。当西西位于城市 i 时,每次他可以执行以下三种操作中的一种: * * 花费 A 的费...原创 2020-04-20 17:30:28 · 615 阅读 · 0 评论 -
2020京东春招笔试题目
/** * 制造纸箱 * 时间限制:C/C++语言 1000MS;其他语言 3000MS * 内存限制:C/C++语言 65536KB;其他语言 589824KB * 题目描述: * 一个长方体纸箱由六个面构成。 * * 现在给出六块纸板的长和宽,请你判断能否用这六块纸板构成一个长方体纸箱。 * * 输入 * 第一行包含一个整数T,表示测试数据组数。 * * 1 <=...原创 2020-04-20 17:29:28 · 1048 阅读 · 1 评论 -
标签中的英文过度但是不换行问题
word-break:break-all;只对英文起作用,以字母作为换行依据word-wrap:break-word; 只对英文起作用,以单词作为换行依据white-space:pre-wrap; 只对中文起作用,强制换行white-space:nowrap; 强制不换行,都起作用white-space:nowrap; overflow:hidden; text-overflow:ell...原创 2020-01-29 13:16:40 · 281 阅读 · 0 评论 -
寻找两个有序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 +...原创 2020-01-15 13:50:29 · 1016 阅读 · 0 评论 -
灯泡关闭
初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。示例:输入: 3输出: 1 解释: 初始时, 灯泡状态 [关闭, 关闭, 关闭].第一轮后, 灯泡...原创 2019-12-28 10:46:59 · 302 阅读 · 0 评论 -
连续的子数组和
给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入: [23,2,6,4,7], k = 6输出: True解...原创 2019-12-26 13:00:22 · 350 阅读 · 0 评论 -
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10题解...原创 2019-12-21 12:40:08 · 2094 阅读 · 1 评论 -
周赛 2019-12-15
5283. 二进制链表转整数 显示英文描述给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:hea...原创 2019-12-15 12:09:45 · 105 阅读 · 0 评论 -
动态规划套路详解
动态规划套路详解转自作者:labuladong链接:https://leetcode-cn.com/problems/coin-change/solution/dong-tai-gui-hua-tao-lu-xiang-jie-by-wei-lai-bu-ke/来源:力扣(LeetCode)下面通过对斐波那契数列和这道凑零钱问题详解动态规划。如果只想看本题的答案,请直接翻到最后查看。...转载 2019-12-14 20:10:16 · 101 阅读 · 0 评论 -
一天算法(2019-12-14)找出第 n 个丑数
编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超过1690。分析转自丑数求解过程:首先除2,直到不能整除为止,然后除5到不能整除为止,然后除3直到不能整除为止。最终判断剩余的数字...原创 2019-12-14 12:59:25 · 102 阅读 · 0 评论 -
一天算法(2019-12-13)找到只包含 1 的最大正方形
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4分析若形成正方形(非单 1),以当前为右下角的视角看,则需要:当前格、上、左、左上都是 1可以换个角度:当前格、上、左、左上都不能受 0 的限制,才能成为正方形图片来自图片来自图1...原创 2019-12-13 17:46:07 · 325 阅读 · 0 评论 -
拉斯维加斯算法
拉斯维加斯算法通俗理解:假如有一把锁,给我100把钥匙,只有1把是对的。于是我每次随机拿1把钥匙去试,打不开就再换1把。我试的次数越多,打开(最优解)的机会就越大,但在打开之前,那些错的钥匙都是没有用的。这个试钥匙的算法,就是拉斯维加斯算法.拉斯维加斯算法就是每次采样尽量找最好的,但不保证能找到, 采样越多,越有机会找到最优解蒙特卡洛和拉斯维加斯这两类随机算法之间的选择,往往受到问...原创 2019-12-12 19:50:52 · 4407 阅读 · 0 评论 -
蒙特卡罗方法入门
蒙特卡罗方法入门原文本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method)。一、概述蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。它非常强大和灵活,又相当简单易懂,很容易实现。对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。它诞生于上个世纪40年代美国的"曼哈顿计划",名字来源于赌城蒙特卡罗,象征...转载 2019-12-12 19:03:38 · 305 阅读 · 0 评论 -
一天一算法(2019-12-12)概率算法
概率算法原文博客概率算法也叫随机化算法。分治算法、贪心算法、动态规划算法、回溯法、分治界限算法这些算法的每一计算步骤都是确定的,概率算法则允许算法在执行过程中随机地选择下一个计算步骤。在很多情况下,算法在执行过程中面临选择时,随机性选择比最优选择省时,因此概率算法可以在很大程度上降低算法的复杂度。大致可分4类:数值随机化算法蒙特卡罗(Monte Carlo)算法拉斯维加斯(Las V...原创 2019-12-12 18:57:04 · 171 阅读 · 0 评论 -
一天算法(2019-12-11)
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]分析最简单的想...原创 2019-12-11 22:38:37 · 96 阅读 · 0 评论 -
一天算法题(2019-12-10)
给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。思路遍历数组时计算当前最大值,不断更新 令imax为当前最大值,则当前最大值为 i...原创 2019-12-10 14:59:20 · 127 阅读 · 0 评论 -
一天算法(2019-12-9)判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分...原创 2019-12-09 23:41:11 · 237 阅读 · 0 评论 -
一天算法题(2019-12-8)给定一个三角形,找出自顶向下的最小路径和
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。分析跟以往的路径算法一样的思路,分三种情况d[i][0] = d[i-1] + 同行的第1个数d[i][i] =...原创 2019-12-08 14:01:54 · 1099 阅读 · 0 评论 -
一天算法(2019-12-7)
不同路径 II一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[ ...原创 2019-12-07 10:34:29 · 143 阅读 · 0 评论 -
一天算法(2019-12-6)解码方法、不同路径
解码方法一条包含字母 A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。示例 2:输入: "226"输出: 3解释: 它可以解码为 "BZ" (2 ...原创 2019-12-06 18:11:42 · 162 阅读 · 0 评论 -
一天算法题(2019-11-5)
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"...原创 2019-12-05 22:11:12 · 79 阅读 · 0 评论 -
一天算法题(2019-12-4)
问题参考博客参考博客X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆。你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!)比如:a d b c e f 就是合格的刷漆顺序。c e f d a b 是另一种合适的方案。当已知 N 时,求总的方案数。当N较大时,结果...原创 2019-12-04 11:33:43 · 209 阅读 · 0 评论 -
每天算法题(2019-12-3)暗黑的字符串
暗黑的字符串-动态规划一个只包含’A’、‘B’和’C’的字符串,如果存在某一段长度为3的连续子串中恰好’A’、‘B’和’C’各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例 如:BAACAACCBAAA 连续子串"CBA"中包含了’A’,‘B’,‘C’各一个,所以是纯净的字符串AABBCCAABB 不存在一个长度为3的连续子串包含’A’,‘B’,‘C’,所以是暗黑的字符...原创 2019-12-03 12:02:20 · 259 阅读 · 0 评论