力扣第267周周赛(上)

  • 题目
  • 思路与算法
  • 代码实现
  • 写在最后

题目

    1. 买票需要的时间
    1. 反转偶数长度组的节点

思路与算法

    1. 买票需要的时间
      处理思路:直接进行模拟即可,找到位置k上的人需要买的票的数量,排在他之前的人至少要买跟他同样数量的票,排在他后面的人至少需要买比他的票少一张的数量。注意后者不要搞错就可以解决这道题了。
    1. 反转偶数长度组的节点
      这道题容易出问题的点在于如果最后剩余的节点数量为偶数,那么不管前面这一组节点是否为偶数,最后一组都要进行翻转,在206题翻转链表的基础上做这道题只需要维护一个偶数还是奇数的位置索引即可完成本题的拼接。还有一种解法是将元素全部打入向量vector,利用vector容器进行处理,这个也是个办法,但是应该不是本题要考察的根本目的,所以不去投这个机。我们就使用链表的本地翻转即可。

代码实现

  1. 买票需要的时间
class Solution {public:int timeRequiredToBuy(vector<int>& tickets, int k) {int ans = 0;for (int i = 0;i < tickets.size(); ++i) {if (i < k) {if (tickets[i] <= tickets[k]) {ans += tickets[i];} else {ans += tickets[k];}} else if (i == k) {ans += tickets[k];} else {if (tickets[i] >= tickets[k]) {ans += (tickets[k] - 1);} else {ans += tickets[i];}}}return ans;}
};
  1. 反转偶数长度组的节点
class Solution {public:ListNode* reverseEvenLengthGroups(ListNode* head) {ListNode* cur = head, *curHead = head, *preLast = NULL;int curLen = 0;while (cur) {int len = curLen;curHead = cur;int actualLen = 0;while (len && cur->next) {cur = cur->next;actualLen++;len--;}ListNode* next = cur->next;if (actualLen & 1) { cur->next = NULL;ListNode* rHead = reverse(curHead);curHead->next = next;preLast->next = rHead;preLast = curHead;} else {preLast = cur;}cur = next;curLen++;}return head;}ListNode* reverse(ListNode* head) {ListNode *pre = NULL, *cur = head;while (cur) {ListNode* tmp = cur->next;cur->next = pre;pre = cur;cur = tmp;}return pre;}
};

写在最后

  1. 这周开始无论多忙周赛必须记录。

20211118:力扣第267周周赛(上)相关推荐

  1. 20211130:力扣第267周周赛(下)

    力扣第267周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 2075 解码斜向换位密码 2076.处理含限制条件的好友请求 思路与算法 第三题是一个比较简单的索引计算题,只需要将斜着放的字符 ...

  2. 20210627:力扣第247周周赛(上)

    力扣第247周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 两个数对之间的最大乘积差 循环轮转矩阵 思路与算法 两个数对之间的最大乘积差:排序相减即可 循环轮转矩阵:模拟即可,注意逆时针和顺 ...

  3. 20210621:力扣第246周周赛(上)

    力扣第246周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 字符串中的最大奇数 你完成的完整对局数 思路与算法 字符串中的最大奇数 :从末尾开始找奇数即可.从头开始算则最大 你完成的完整对局 ...

  4. 20210612:力扣第244周周赛题解(上)

    力扣第244周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 判断矩阵经轮转后是否一致 使数组元素相等的减少操作次数 思路与算法 判断矩阵经轮转后是否一致:本题的前置题目是这道46:.旋转图像 ...

  5. 20210601:力扣第243周周赛(上)

    力扣第243周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 检查某单词是否等于两单词之和 插入后的最大值 思路与算法 检查某单词是否等于两单词之和:直接转化比较即可 插入后的最大值:负数,则 ...

  6. 20210426:力扣第238周周赛(上)

    力扣第238周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 K 进制表示下的各位数字总和 最高频元素的频数 思路与算法 第一题是数学题,考察各进制与十进制数的相互转换,不多赘述,连续取余求和 ...

  7. 20210422:力扣第237周周赛题解记录(上)

    力扣第237周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 判断句子是否为全字母句 雪糕的最大数量 思路与算法 没什么需要解释的,这周这两题过于水了... 代码实现 判断句子是否为全字母句 ...

  8. 20210307:力扣第231周周赛(上)

    力扣第231周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 检查二进制字符串字段 构成特定和需要添加的最少元素 思路与算法 题意读懂即可,意思是包含01序列与否,单独的一个1也符合要求 第二 ...

  9. 20210217:力扣第228周周赛(上)

    力扣第228周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 生成交替二进制字符串的最少操作数 统计同构子字符串的数目 思路与算法 第一题需要注意不能直接翻译题意,直接翻译的代码存在先入为主定 ...

最新文章

  1. Journal of Genetics and Genomics科学编辑招聘启事
  2. QIIME 2教程. 14数据评估和质控q2-quality-control(2020.11)
  3. 5-global_data介绍
  4. 用一句SQL取出第 m 条到第 n 条记录的方法
  5. stm8s003程序跑飞_A股要大跌?跑不跑就看明天……
  6. 华大 MCU 之七 DMA 导致 SPI 异常停止的原因分析、DMA 配置的那些坑
  7. jquery 过滤html代码,jquery – 如何使指令使用过滤的HTML属性?
  8. Cassandra1.2文档学习(5)—— Snitch
  9. 飞鸽传书2011绿色版使用简介
  10. 9 Characteristics of Free Software Users
  11. PHPCMS怎么创建单选按钮、复选框,并在模板里怎么接收和调用。
  12. C#三层架构详细解剖
  13. 今天第72个儿童节,程序猿“童”样精彩~
  14. 对JSON格式的城市按照拼音首字母排序
  15. Java周记(第一周)
  16. SOLIDWORKS Composer生成BOM表属性不显示的解决办法
  17. 深度学习在摄影技术中的应用与发展
  18. PHP取整,四舍五入取整、向上取整、向下取整、小数截取
  19. Matlab交换行列
  20. CSS3 水平垂直居中的6种方法

热门文章

  1. 计算机编程的 20 年变迁!
  2. 超低代码拓荒记 | 工业互联网新边疆
  3. 朝九晚五的工作值得留恋吗?
  4. 如何伪装成一个彻头彻尾的程序员?
  5. 如何搞懂容器的核心技术点?
  6. 百度回应“抄袭天猫精灵”;ofo 押金退完需 12 年;VS Code 1.36 发布 | 极客头条...
  7. Google 对战微软阿里,AIoT 进入“战国时代”!
  8. 主流芯片架构即将变天!
  9. 做游戏怎能没有马云马化腾?
  10. 微软实习期的我,纠正了一位高级开发人员的错误......