原题链接:https://leetcode-cn.com/problems/longest-happy-string/

贪心算法

class Solution {public:static bool greater(const pair<char, int>& a, const pair<char, int>& b) {return a.second > b.second;}string longestDiverseString(int a, int b, int c) {string res;vector<pair<char, int>> vec = {{'a', a}, {'b', b}, {'c', c}};int i = 0;while (res.size() < a+b+c) {//每次循环均排序,vec[0]是剩余最多的,vec[1]是次多的sort(vec.begin(), vec.end(), greater);if (res.size() && res.back() == vec[0].first) {//如果剩余最多的,与上次选取的重复,则选取次多的。次多的一定不会与上次重复if (vec[1].second--) res += vec[1].first;else break;} else {//每次从剩余最多的中选取两个if (vec[0].second--) res += vec[0].first;if (vec[0].second--) res += vec[0].first;}       }return res;}
};

leetcode算法题--最长快乐字符串★相关推荐

  1. LeetCode算法题2:求字符串b在字符串a中的起始下标

    文章目录 前言 一.题目描述 二.思路 1.朴素匹配 1.1Java直接实现 2.kmp模式匹配 总结 前言 本系列文章为leetCode刷题笔记,仅供参考. 一.题目描述 若字符串 a 包含字符串 ...

  2. leetcode算法题--最长字符串链

    原题链接:https://leetcode-cn.com/problems/longest-string-chain/ 动态规划 dp[i]表示在i处最长字符串链长度 状态转移 dp[i]=max(d ...

  3. leetcode算法题--最长数对链

    原题链接:https://leetcode-cn.com/problems/maximum-length-of-pair-chain/ 1.动态规划 dp[i]表示第i个位置最长的数对链的长度 状态转 ...

  4. leetcode算法题--最长回文子序列★★

    原题链接:https://leetcode-cn.com/problems/longest-palindromic-subsequence/ 注意不是回文子串,子串必须是连续! dp[i][j]表示字 ...

  5. python【力扣LeetCode算法题库】1071. 字符串的最大公因子

    字符串的最大公因子 对于字符串 S 和 T,只有在 S = T + - + T(T 与自身连接 1 次或多次)时,我们才认定 "T 能除尽 S". 返回最长字符串 X,要求满足 X ...

  6. leetcode算法题--最长定差子序列

    原题链接:https://leetcode-cn.com/problems/longest-arithmetic-subsequence-of-given-difference/ 相关题目:最长等差数 ...

  7. leetcode算法题--最长等差数列★

    原题链接:https://leetcode-cn.com/problems/longest-arithmetic-sequence/ 动态规划 dp[i][dif]表示i位置上差为dif的等差数列的最 ...

  8. leetcode算法题--最长公共子数组

    原题链接:https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/ 相似题目:最长公共子序列 只不过这里必须是连续的, ...

  9. leetcode算法题--最长公共子序列★

    原题链接:https://leetcode-cn.com/problems/longest-common-subsequence/ 动态规划 dp[i][j]表示text1[:i]和text2[:j] ...

最新文章

  1. 卫星发现一个重要信号:路上货车跑起来
  2. Java Pinyin4j(汉字转拼音)
  3. 初识FPGA(一)(初步介绍FPGA)
  4. mac电脑配置java环境变量_教你在Mac系统中配置JAVA环境变量的方法
  5. 1-5-20:球弹跳高度的计算
  6. 【数字信号处理】线性时不变系统 LTI “ 输入 “ 与 “ 输出 “ 之间的关系 ( LTI 系统单位脉冲响应 | 卷积 | 卷积推导过程 )
  7. awk打印第一个字母
  8. mongodb自动关闭:页面文件太小,无法完成操作
  9. Angular6入门
  10. IIS 无法显示图片
  11. JS——try catch throw
  12. Java OpenCV之Mat类的概述、常用构造方法、常用函数
  13. [置顶]千年潜规则一语道破
  14. linux安装oracle11g步骤_图解 Debian 10(Buster)安装步骤 | Linux 中国
  15. 易语言-MD5加密16位和32位方法
  16. DocsBuilderGUI 工具使用介绍
  17. 超好用的网站克隆工具,就是玩!
  18. Ubuntu下codeblocks汉化
  19. 计算机考研408每日一题 day162
  20. 非常适合新手入门学习的三款建模软件

热门文章

  1. pythonexe32位-如何使用pyinstaller打包32位的exe
  2. python可以自学吗-python可以自学吗
  3. python语言有什么用-为什么现在很多人都使用Python语言有什么优势
  4. python最新版下载教程-各种版本的Python下载安装教程
  5. python快乐编程—基础入门-Python零基础快乐学习之旅(K12实战训练)
  6. 我自学python的路-Python 学习路线(非常适合小白的入门级教程)
  7. 解决tensorflow报错:AttributeError: module ‘tensorflow.keras.backend‘ has no attribute ‘get_session‘ 问题
  8. linux日志中有空格,linux中统计排序的内容含有空白行的解决办法
  9. LeetCode 450 Delete Node in a BST(二叉搜索树中的删除结点)
  10. LeetCode Merge Intervals