寻找数组的错位排列

在组合数学中,如果一个排列中所有元素都不在原先的位置上,那么这个排列就被称为错位排列。给定一个从  1  到  n  升序排列的数组,你可以计算出总共有多少个不同的错位排列吗?由于答案可能非常大,你只需要将答案对  1000000007  取余输出即可。样例  1:        输入:  3   

#leetcode   #数学   #算法   #取余   #中等   #动态规划  

最佳观光组合

给定正整数数组  A,A[i]  表示第  i  个观光景点的评分,并且两个景点  i  和  j  之间的距离为  j  -  i。一对景点(i  <  j)组成的观光组合的得分为(A[i]  +  A[j]  +  i  -  j):        景点的评分之和减去它们两者之间的距离。返

#leetcode   #算法   #中等   #动态规划  

秋叶收藏集

小扣出去秋游,途中收集了一些红叶和黄叶,他利用这些叶子初步整理了一份秋叶收藏集  leaves,字符串  leaves  仅包含小写字符  r  和  y,  其中字符  r  表示一片红叶,字符  y  表示一片黄叶。出于美观整齐的考虑,小扣想要将收藏集中树叶的排列调整成「红、黄、红」三部分。每部

#leetcode   #算法   #中等   #动态规划  

黑白方格画

小扣注意到秋日市集上有一个创作黑白方格画的摊位。摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动。画板上有  n  *  n  的网格。绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色,所选行数、列数均可为  0。小扣希望最终的成品上需要有  k  个黑色格子,请返回小扣共有多少种

#leetcode   #算法   #简单   #数学公式   #动态规划  

买卖股票的最佳时机Ⅱ

给定一个数组,它的第  i  个元素是一支给定股票第  i  天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例  1:        输入:  [7,1,5,3,6,4]   

#leetcode   #算法   #贪心   #简单   #动态规划  

买卖股票的最佳时机

给定一个数组,它的第  i  个元素是一支给定股票第  i  天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例  1:        输入:  [7,1,5,3,6,4]        输出:  5  

#leetcode   #算法   #简单   #动态规划  

最大子序列和

给定一个整数数组  nums  ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:        输入:  [-2,1,-3,4,-1,2,1,-5,4]        输出:  6        解释:  连续子数组  [4,-1,2,1]  的和最大,为  6。进阶

#leetcode   #算法   #简单   #动态规划  

传递信息

小朋友  A  在和  ta  的小伙伴们玩传信息游戏,游戏规则如下:  有  n  名玩家,所有玩家编号分别为  0  ~  n-1,其中小朋友  A  的编号为  0  每个玩家都有固定的若干个可传信息的其他玩家(也可能没有)。传信息的关系是单向的(比如  A  可以向  B  传信息,但  B

#leetcode   #算法   #简单   #动态规划  

最小移动次数使数组元素相等

给定一个长度为  n  的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动将会使  n  -  1  个元素增加  1。示例:        输入:  [1,2,3]        输出:  3        解释:  只需要3次移动(注意每次移动会增加两个元素的值):         

#leetcode   #算法   #简单   #动态规划