Leetcode Weekly Contest 415

楼主: oin1104 (是oin的说)   2024-09-15 12:08:22
我徽章没了
下次再复仇
这次是题目太搞
faker也有版本不合的时候
你们给我等著
第一题
这两个重复的数字
思路
建表遍历后查询
```cpp
class Solution {
public:
vector<int> getSneakyNumbers(vector<int>& nums)
{
vector<int> res;
int n = nums.size();
int paper[101] = {};
for(int i = 0 ; i < n ; i ++)
{
paper[nums[i]] ++;
}
for(int i = 0 ; i < 101 ; i ++)
{
if(paper[i] == 2)res.push_back(i);
}
return res;
}
};
```
第二题
给你a阵列有四个数字
要跟b阵列的很多数字
依照“顺序”相乘之后 加起来
能得到的最大数字是多少
思路
用dp
纪录上一层最大的同时更新新的可能
```cpp
class Solution {
public:
long long maxScore(vector<int>& a, vector<int>& b)
{
int an = a.size();
int bn = b.size();
vector<vector<long long>> paper(an,vector<long long> (bn , 0));
for(int j = 0 ; j < bn-3 ; j ++)
{
paper[0][j] = (long long)a[0] * (long long)b[j];
}
for(int i = 1 ; i < 4 ; i ++)
{
long long mv = paper[i-1][i-1];
for(int j = i ; j < bn-3+i ; j ++)
{
long long now = (long long)a[i] * (long long)b[j];
paper[i][j] = now + mv;
mv = max(paper[i-1][j],mv);
}
}
long long res = paper[3][3];
for(int i = 3 ; i < bn ; i ++)
{
res = max(res,paper[3][i]);
}
return res;
}
};
```
第三题
可以用words里面的字的前缀
要用多少次才可以组合出target
思路
用set记录
但是我超内存了
因为字太多
我吐了
```cpp
class Solution {
public:
int minValidStrings(vector<string>& words, string target)
{
unordered_set<string> save;
int n = target.size();
for(string k : words)
{
int len = k.size();
for(int i = 1 ; i <= len ; i ++)
{
save.insert(k.substr(0,i));
}
}
vector<int> paper(n+1,99999999);
paper[0] = 0;
for(int i = 0 ; i < n ; i ++)
{
for(int j = i ; j >= 0 ;j
作者: sustainer123 (caster)   2024-09-15 12:09:00
还好我没打
作者: mrsonic (typeB)   2024-09-15 12:14:00
你好没用
作者: DJYOMIYAHINA (通通打死)   2024-09-15 12:21:00
我去死
作者: enmeitiryous (enmeitiryous)   2024-09-15 12:30:00
我好烂
作者: wu10200512 (廷廷)   2024-09-15 12:48:00
你好强
作者: SydLrio (狂岚嘴砲)   2024-09-15 13:07:00
你有什么用

Links booklink

Contact Us: admin [ a t ] ucptt.com