博客
关于我
LeetCode商汤专场——第216场周赛题解
阅读量:797 次
发布时间:2023-01-31

本文共 1747 字,大约阅读时间需要 5 分钟。

目录

前言

T1.5605. 检查两个字符串数组是否相等

T2.5606. 具有给定数值的最小字符串

T3.5607. 生成平衡数组的方案数

T4.5608. 完成所有任务的最少初始能量

前言

翻了一下前面的博客记录,上一篇还是10月24号程序员节发的blog,已经快过去一个月了。这一个月过得真是飞快,更新的频率慢了。

这个月导师给了毕设题目,图形学方向的,对自己来说又是一个全新的领域,未来的挑战还是不少啊!

这几个周末要不就是陪女友,要不就是出差,连续缺席了好几场周赛,后面连续缺席的风 حال也绝对是不行的,再忙也不可能连续一周连一小时比赛的时间都没有呀!

其实这场周赛我只参加了前两题,昨天深夜和女友吵了一架,入睡估计都两三点了,来实验室比赛已经快十一点了。

总之,没什么可以说抱怨的,心态好就行!继续加油呀!

T1.5605. 检查两个字符串数组是否相等

有手就行的题,不说了。

T2.5606. 具有给定数值的最小字符串

贪心法则:字符串前面填入尽量多的a,后面填入尽量多的z,最后再将剩下的填充到中间

T3.5607. 生成平衡数组的方案数

前缀和模拟一遍,特别注意每次删除对应的元素之后,下标会改变,具体看代码

T4.5608. 完成所有任务的最少初始能量

按照惯例溜号,这次还是被动溜号,上一个大佬的代码,供参考:...

参考代码如下:

class Solution {public:bool arrayStringsAreEqual(vector

& word1, vector
& word2) {string s1, s2;for (auto word : word1) {s1 += word;}for (auto word : word2) {s2 += word;}return s1 == s2;}}

class Solution {public:string getSmallestString(int n, int k) {string a, z;int num = 0;while ((n - num - 1) * 26 >= k) {num++;k--;a += 'a';}while (k > 0) {if (k >= 26) {z += 'z';k -= 26;} else {z = char('a' + k - 1) + z;break;}}return a + z;}}

class Solution {public:int waysToMakeFair(vector

& nums) {int ans = 0;int odd[nums.size() + 1];int even[nums.size() + 1];odd[0] = even[0] = 0;for (int i = 1; i <= nums.size(); i++) {odd[i] = odd[i - 1] + ((i - 1) % 2 != 0 ? nums[i - 1] : 0);even[i] = even[i - 1] + ((i - 1) % 2 == 0 ? nums[i - 1] : 0);}for (int i = 1; i <= nums.size(); i++)ans += ((odd[i - 1] + (even[nums.size()] - even[i])) == (even[i - 1] + (odd[nums.size()] - odd[i])));return ans;}}

class Solution {public:int minimumEffort(vector<vector

>& tasks) {sort(tasks.begin(), tasks.end(), [](const auto& u, const auto& v) {return u[0] - u[1] < v[0] - v[1];});int p = 0;int suma = 0;for (const auto& task : tasks) {p = max(p, suma + task[1]);suma += task[0];}return p;}}

转载地址:http://sqgyk.baihongyu.com/

你可能感兴趣的文章
Linux Shell脚本通过参数名传递参数
查看>>
Linux Shell语言并发执行多条命令
查看>>
Linux signal
查看>>
Linux SNMP支持IPv6配置实战
查看>>
Linux Socket学习--域和套接口简介
查看>>
linux SSL发送邮件出错 ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:748)
查看>>
Linux sudo命令详解
查看>>
Linux tail 命令详解
查看>>
linux tar 备份命令
查看>>
Linux Terminator
查看>>
linux tex文件编译,用latexmk编译XeLaTeX tex文件
查看>>
Linux top 命令详解
查看>>
Linux tr命令学习笔记与应用举例
查看>>
Linux Ubuntu 装LAMP心得
查看>>
linux Ubuntu安装ftp并将本地文件上传到云服务器
查看>>
linux udev 自动挂载 SD卡/U盘
查看>>
Linux UDP C/S例子
查看>>
Linux uniq学习笔记
查看>>
Linux unit14
查看>>
Linux VFS中write系统调用实现原理【转】
查看>>