首页 > 其他分享 >leetcode 1423. 可获得的最大点数

leetcode 1423. 可获得的最大点数

时间:2024-12-02 18:32:49浏览次数:3  
标签:1423 right return int cardPoints 点数 maxScore leetcode left

1423. 可获得的最大点数

首先,前 k 个数和后 k 个数 的 较大者并不是正确答案,比如  100   40   17   9   73   75,正确解是248。

其次,想到了前或者后拿了一个数之后,就是求剩下序列拿k-1个数,可以转换成子问题,所以想到了递归。但是k比较大的时候就超时了:

class Solution {
public:
    int maxScore_2(const vector<int>& cardPoints, const int& k, const int& left,const int& right){
        if(k == 0)  return 0;
        if(left == right)  return cardPoints[left];
        int sumLeft = cardPoints[left] + maxScore_2(cardPoints,k-1,left+1,right);
        int sumRight = cardPoints[right] + maxScore_2(cardPoints,k-1,left,right-1);
        return max(sumLeft,sumRight);
    }

    int maxScore(vector<int>& cardPoints, int k) {
        return maxScore_2(cardPoints,k,0,cardPoints.size()-1);
    }
};

 

标签:1423,right,return,int,cardPoints,点数,maxScore,leetcode,left
From: https://www.cnblogs.com/uacs2024/p/18582457

相关文章

  • 代码随想录算法训练营第三十一天|leetcode56. 合并区间、leetcode738.单调递增的数字
    1leetcode56.合并区间题目链接:56.合并区间-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法,合并区间有细节!LeetCode:56.合并区间哔哩哔哩bilibili思路:其实很清楚,跟之前的方法差不多,但是自己写的时候就是有地方不会了,会不知道接下来的思路是什么1.1视频后的思路卡壳......
  • leetcode 2841. 几乎唯一子数组的最大和
    2841.几乎唯一子数组的最大和使用unordered_map;unordered_multiset可能也可以,但是不如前者方便classSolution{public:longlongmaxSum(vector<int>&nums,intm,intk){intsize=nums.size();longlongnow=0;unordered_map<int,......
  • LeetCode 爬楼梯
    题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?采用动态规划的算计进行设计对于n=1 的情况,很明显只有一种方法能爬到第1阶楼梯,那就是一次爬1个台阶,所以f(1)=1。对于 n=2  的情况,有两种方......
  • leetcode 1461. 检查一个字符串是否包含所有长度为 K 的二进制子串
    1461.检查一个字符串是否包含所有长度为K的二进制子串 法一:使用unordered_set,通过集合数量来判断classSolution{public:boolhasAllCodes(strings,intk){intsize=s.size();intk_2kFang=pow(2,k);if(size-k+1<k_2kFa......
  • Leetcode:3195
    1,题目2,思路首先找到上下左右初始边就开始循环找到上下左右最终边,做面积运算就好了(其中+1是因为下标比实际位置少1)3,代码classSolution3195{publicintminimumArea(int[][]grid){intabove=0;//上intunder=0;//下intleft=0;//......
  • LeetCode题练习与总结:路径总和 Ⅲ --437
    一、题目描述给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。示例1:输入:root=[10,5,-3,3,2,null,......
  • LeetCode题练习与总结:找到字符串中所有字母异位词--438
    一、题目描述给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。示例 1:输入:s="cbaebabacd",p="abc"输出:[0,6]解释:起始索引等于0的子串是"cba",它是"abc"的异位词。起始索引等于6的子......
  • LeetCode【0265】粉刷房子 II
    本文目录1中文题目2Python求解2.1求解思路2.2涉及方法2.3求解示例2.4Python代码2.5复杂度分析3题目总结1中文题目假如有一排房子共有n幢,每个房子可以被粉刷成k种颜色中的一种。房子粉刷成不同颜色的花费成本也是不同的。需要粉刷所有的房子并且使其相......
  • 【LeetCode:51. N 皇后 + DFS】
    ......
  • leetcode 1456. 定长子串中元音的最大数目
    1456.定长子串中元音的最大数目法一:借助队列classSolution{public:intmaxVowels(strings,intk){intsize=s.size(),resMax=0;queue<bool>qVowel;for(inti=0;i<k;i++){if(s[i]=='a'||s[i]==......