第 356 场周赛 - 力扣(LeetCode)

2798. 满足目标工作时长的员工数目 - 力扣(LeetCode)

一次遍历

class Solution {
public:
int numberOfEmployeesWhoMetTarget(vector<int>& hours, int target) { int ans = 0;
for(auto i : hours)
ans += (i >= target);
return ans;
}
};

2799. 统计完全子数组的数目 - 力扣(LeetCode)(滑动窗口)

先求出数组中不同元素的个数,然后去遍历,用一个哈希表记录遍历过的元素,如果找到一个区间\([l,r]\)满足条件,就让\(ans\)加上\(nums.size() - r\),因为对于这样的一个区间,如果\([l,r]\)是满足条件的,那么\(r+1,r+2 \dots n\)也一定是满足条件的,因为不同元素的个数已经满足,往后也不会再有新的元素,然后就是去每次更新窗口的前端,将那些前面有重复的去掉

class Solution {
public:
int countCompleteSubarrays(vector<int>& nums) { int num = unordered_set<int>(nums.begin(), nums.end()).size();
unordered_map<int,int> mp;
int l = 0, ans = 0; for(int r = 0;r < nums.size(); r++){
mp[nums[r]]++; while(mp.size() == num){
ans += nums.size() - r;
mp[nums[l]]--;
if(mp[nums[l]] == 0)
mp.erase(nums[l]);
l++;
}
} return ans;
}
};

2800. 包含三个字符串的最短字符串 - 力扣(LeetCode)

因为只有三个字符串,所以我们可以直接对三个字符串进行全排列枚举,也因为全排列枚举了所有情况,所以我们去合并的时候直接就看串\(a\)的后面能不能接\(b\)就行了

class Solution {
public: string merge(string a,string b){
if(a.find(b) != -1) return a;
if(b.find(a) != -1) return b; for(int i = min(a.size(),b.size());i > 0;i--)
if(a.substr(a.size() - i) == b.substr(0,i))
return a + b.substr(i); return a + b;
} string minimumString(string a, string b, string c) { vector<string> str{a,b,c};
sort(str.begin(),str.end());
string ans = a + b + c; do{
string Ke = merge(merge(str[0],str[1]),str[2]);
if(Ke.size() < ans.size() || Ke.size() == ans.size() && Ke < ans)
ans = Ke;
}while(next_permutation(str.begin(), str.end())); return ans ;
}
};

2801. 统计范围内的步进数字数目 - 力扣(LeetCode)(数位dp)

后面学了再来补题qwq

第 356 场周赛 - 力扣(LeetCode)的更多相关文章

  1. 力扣Leetcode 179. 最大数 EOJ 和你在一起 字符串拼接 组成最大数

    最大数 力扣 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说 ...

  2. 力扣Leetcode 45. 跳跃游戏 II - 贪心思想

    这题是 55.跳跃游戏的升级版 力扣Leetcode 55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃 ...

  3. 【力扣leetcode】-787. K站中转内最便宜的航班

    题目描述: 有 n 个城市通过一些航班连接.给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 p ...

  4. 力扣Leetcode 面试题56 - I. 数组中数字出现的次数

    面试题56 - I. 数组中数字出现的次数 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 ...

  5. 力扣Leetcode 1518. 换酒问题

    小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒.你购入了 numBottles 瓶酒. 如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的. 请你计算 最多 能喝到多少瓶酒. 示例: ...

  6. 力扣Leetcode 461. 汉明距离

    给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换. 完成所有替换操作后,请你返回这个数组. 示例: 输入:arr = [17,18,5,4,6,1] 输 ...

  7. 力扣Leetcode 198. 打家劫舍

    打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...

  8. 力扣Leetcode 680. 验证回文字符串 Ⅱ

    验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca ...

  9. 力扣Leetcode 560. 和为K的子数组

    和为K的子数组 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数. 示例 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1 ...

  10. 力扣Leetcode 50. 实现Pow(x, n)

    实现Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 ...

随机推荐

  1. 在Winform程序中动态绘制系统名称,代替图片硬编码名称

    在以前我做程序的时候,一般在登录窗口里面显示程序名称,登录窗口一般设置一张背景图片,由于程序的名称一般都是确定的,所以也不存在太大的问题,不过如果客户定制不同的系统的时候,需要使用Photoshop修 ...

  2. 这几个必备的vscode插件,你安装了几个

    作为一名前端开发者,vscode想必大家应该都接触过,就像大多数 IDE 一样,VSCode 也有一个扩展和主题市场,包含了数以千计质量不同的插件. 作为一名熟练掌握各种前端开发工具安装和卸载的大师兄 ...

  3. 如何拥抱AI

    从去年年初开始,AI技术真正走入了我们的日常生活.从OpenAI到如今字节跳动的coze,我们通过AI大模型可以做很多事情,工具和平台众多,如何选择和使用有必要总结一下. 编程和debug方面 尽管g ...

  4. Nacos + Gateway网关搭建微服务

    文章所有代码GtiHub:https://github.com/Tom-shushu/work-study 里面的gateway-server和server1项目 1.Docker 部署 Nacos ...

  5. Linux内核中的各种文件系统:proc、tmpfs、devfs、sysfs

    Linux内核中的各种文件系统:proc.tmpfs.devfs.sysfs 背景 刚学完proc文件系统在内核驱动 中的使用,就看到另外的sysfs的有关接口.很好奇proc文件系统和sysfs文件 ...

  6. 解决:编译安卓源码时 JDK 报错 error='Not enough space' (errno=12)

    背景 在编译 Android 10 代码的时候,OpenJDK发现报错: OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(.., . ...

  7. 开源日志组件Sejil--附带日志管理界面

    1.开源日志组件源码:  https://github.com/alaatm/Sejil 2.下载下来发现里面对于不同的.net core 版本的配置提供了对应的示例 .Net Core 3.1 Pr ...

  8. sqlCel查询一个表中部分字段的数据后插入到另一个表中

    问题: 部门每天需要从后台系统将物流总表数据导出,Excel中整理出订单的物流发货渠道和发货时间,再手动导入到数据库中,整个过程不麻烦,但在Excel中比较繁琐. 需求: 将这个繁琐的过程变得更简单, ...

  9. 一个用来画拉氏图的简单Python脚本

    技术背景 关于拉氏图的更多介绍,可以参考下这篇博客,这里简单引述一部分内容: Ramachandran plot(拉氏图)是由G. N. Ramachandran等人于1963年开发的,用来描述蛋白质 ...

  10. 推荐一枚宝藏Up主,顺便聊聊感想

    众所周知,B站是学习网站 最近发现一宝藏Up主,主要做科普,主题包括但不限于:大模型的底层算法.量子计算底层原理和硬件设计,以及其他物理或者自然科学主题,总体偏向于理工科. 值得推荐的理由:Up主对底 ...