摘要:
题目解析:对于每一个元素,右边第一个比它小的元素之前的元素构成的子数组都满足条件,也就是求右边第一个比它小的元素位置pos,将res += pos-i ;可以用单调栈来实现。遍历结束后,对于仍在栈中的元素,res += n - i ;时间复杂度为O(N) , 空间复杂度为O(N); class So 阅读全文
posted @ 2020-03-29 15:56
景行cmy
阅读(433)
评论(0)
推荐(0)
摘要:
题目解析:有k个鸡蛋,N层楼,求最少的moves可以确定F的大小.题目中暗含着1-N是有序的,如果第i层鸡蛋没破,那F值肯定在[i,n]层,如果破了,那F值就在[0,i-1]层; 解法一:求最小值,动态规划;顺着题目想dp[K][N]的最小值,假设在i层扔下,如果鸡蛋破了,那么F肯定[0, i-1] 阅读全文
posted @ 2020-03-29 11:34
景行cmy
阅读(142)
评论(0)
推荐(0)
摘要:
题目解析:求回声字符串的个数,也就是求头半段等于后半段的字符串的个数。 解法一:遍历长度为l的每一子字符串,时间复杂度为O(n^2) , 判断子字符串的的前半段是否等于后半段,总的时间复杂度为O(N^3).会超时; class Solution { public: int distinctEchoS 阅读全文
posted @ 2020-03-29 09:03
景行cmy
阅读(139)
评论(0)
推荐(0)
浙公网安备 33010602011771号