LeetCode Weekly Contest 257
时间:2021-09-05
本文章向大家介绍LeetCode Weekly Contest 257,主要包括LeetCode Weekly Contest 257使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
第一题
class Solution {
public int countQuadruplets(int[] nums) {
int n = nums.length;
int res = 0;
for(int i=0; i<n; i++){
for(int j=i+1; j<n; j++){
for(int k=j+1; k<n; k++){
for(int t =k+1; t < n; t++){
if(nums[i]+nums[j]+nums[k] == nums[t]){
res++;
}
}
}
}
}
return res;
}
}
第二题
题解:使用单调栈
class Solution {
public:
int numberOfWeakCharacters(vector<vector<int>>& p) {
sort(p.begin(), p.end(), [](const auto &a, const auto &b){
if(a[0] == b[0]) return a[1] > b[1];
return a[0] < b[0];
});
stack<pair<int, int>> s;
int n = p.size();
int count = 0;
for(int i=0; i<n; i++){
while(s.size() > 0 && s.top().first < p[i][0] && s.top().second < p[i][1]){
count++;
s.pop();
}
s.push({p[i][0], p[i][1]});
}
return count;
}
};
第三题
class Solution {
public:
int firstDayBeenInAllRooms(vector<int>& a) {
int n = a.size();
int mod = 1000000007;
vector<int> f(n, 0);
for(int i=1; i<n; i++){
// 第一次到达 f[i-1] 的天数为 f[i-1]
// 第二次到达 f[i-1] 的天数为 1 + f[i-1] - f[nextVisit[i-1]]
// f[i] = (f[i-1] + (1 + f[i-1] - f[nextVisit[i-1]]) + 1) % MOD;
f[i] = (2*f[i-1]-f[a[i-1]]+2)%mod;
if(f[i] < 0) f[i] += mod;
}
return f[n-1];
}
};
第四题
使用并查集
const int N = 1e5+10;
int p[N];
class Solution {
public:
int find(int x){
if(x != p[x])
p[x] = find(p[x]);
return p[x];
}
void merge(int a, int b){
int x = find(a), y = find(b);
if(x !=y){
p[x] = y;
}
}
bool gcdSort(vector<int>& nums) {
vector<int> nums1 = nums;
for(int i=1; i<N; i++) p[i] = i;
for(int num : nums1){
int k = num;
for(int i=2; i<=num/i; i++){
bool flag = false;
while(num%i == 0){
num /= i;
flag = true;
}
if(flag){
merge(k, i);
}
}
if(num > 1){
merge(k, num);
}
}
sort(nums.begin(), nums.end());
for(int i=0; i<nums.size(); i++){
if(nums[i] == nums1[i]) continue;
if(find(nums[i]) != find(nums1[i])) return false;
}
return true;
}
};
原文地址:https://www.cnblogs.com/lzeffort/p/15230689.html
- Vagrant share浅析
- 空间金字塔池化(Spatial Pyramid Pooling, SPP)原理和代码实现(Pytorch)
- 批量下载Coursera及其他场景上的文件
- 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目
- [产品与技术] Flight data recorder
- [技术与产品] Bower & Brunch
- 计算机视觉识别简史:从 AlexNet、ResNet 到 Mask RCNN
- [技术产品] 用node-webkit做桌面应用
- [技术] 谈谈Python
- [技术] 谈谈编程思想
- DeepLearning.ai学习笔记(五)序列模型 -- week1 循环序列模型
- 黑客马拉松
- python select模块详解
- 轮询、长轮询、长连接、websocket
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Found a swap file by the name ".jsidInspector.py.swp"
- CentOs7下部署tomcat文件服务器
- 【拓展】未来的JavaScript记录与元组
- 【Vuejs】690- Vue新特性:CSS 中使用 JS 变量
- Zabbix监控之从Kafka中获取消费进度和lag
- 将UTC(字符串包含TZ的时间)时间转换成本地时间 python
- centos7安装telnet服务
- linux vim编辑器之环境设置
- JAVA实现UTC时间转换成北京时间
- JDK8 LocalDateTime转换成时间戳
- Grafana创建zabbix自定义template(模板)
- 一条SQL引发的“血案”:
- Grafana安装配置Elasticsearch插件
- Elasticsearch升级踩坑记之使用snapshot备份数据
- RabbitMQ的安装及集群搭建方法