【每日算法Day 77】LeetCode 第 181 场周赛题解

简介: 第 181 场周赛题解

周赛链接


https://leetcode-cn.com/contest/weekly-contest-181

LeetCode 5364. 按既定顺序创建目标数组


题目链接

https://leetcode-cn.com/problems/create-target-array-in-the-given-order/

题解


c++ vector 自带 insert 函数,直接用就行了。

代码(c++)

classSolution {
public: 
vector<int>createTargetArray(vector<int>&nums, vector<int>&index) {     
intn=nums.size();  
vector<int>target;    
for (inti=0; i<n; ++i) {    
target.insert(target.begin()+index[i], nums[i]);      
        }        returntarget;  
    }
};

LeetCode 5178. 四因数


题目链接


https://leetcode-cn.com/problems/four-divisors/

题解


image.png

代码(c++)

classSolution {
public:
intsumFourDivisors(vector<int>&nums) {   
intres=0;     
for (autox : nums) {      
intcnt=0, sum=0;  
for (inti=1; i*i<=x; ++i) {   
if (i*i==x) {       
cnt++;        
break;      
                }       
if (x%i==0) {   
cnt+=2;      
sum+=i+x/i; 
                }           
if (cnt>4) break;  
            }         
if (cnt==4) res+=sum;
        }     
returnres; 
    }
};

LeetCode 5366. 检查网格中是否存在有效路径

题目链接


https://leetcode-cn.com/problems/check-if-there-is-a-valid-path-in-a-grid/

题解



image.png

代码(c++)

classSolution {
public:   
intlink(inta, intb, intd) {  
if (d==1||d==3) {     
d--;    
swap(a, b);  
        }     
if (d==0) return (a==1||a==4||a==6)&&(b==1||b==3||b==5); 
if (d==2) return (a==2||a==3||a==4)&&(b==2||b==5||b==6); 
returnfalse; 
    }     
boolhasValidPath(vector<vector<int>>&grid) {  
intn=grid.size(), m=grid[0].size();
intdx[4] = {0, 0, 1, -1}; 
intdy[4] = {1, -1, 0, 0};   
vector<vector<int>>vis(n, vector<int>(m, 0)); 
queue<pair<int, int>>Q;    
Q.push({0, 0});    
vis[0][0] =1;   
while (!Q.empty()) {     
pair<int, int>p=Q.front();  
Q.pop();       
intx=p.first, y=p.second;   
if (x==n-1&&y==m-1) returntrue; 
for (inti=0; i<4; ++i) {      
intnx=x+dx[i], ny=y+dy[i]; 
if (0<=nx&&nx<n&&0<=ny&&ny<m&&!vis[nx][ny] &&link(grid[x][y], grid[nx][ny], 
i)) {    
vis[nx][ny] =1;    
Q.push({nx, ny});  
                }        
            }      
        }      
returnfalse; 
    }
};

LeetCode 5367. 最长快乐前缀


题目链接


https://leetcode-cn.com/problems/longest-happy-prefix/

题解


image.png

代码(c++)

classSolution {
public: 
voidgetNext(strings, vector<int>&next) {    
intn=s.size();     
next[0] =0;    
for (intq=1, k=0; q<n; ++q) { 
while (k>0&&s[q] !=s[k])    
k=next[k-1];      
if (s[q] ==s[k]) k++;            next[q] =k;     
        }   
    }  
stringlongestPrefix(strings) {   
intn=s.size();     
vector<int>next(n);     
getNext(s, next);    
returns.substr(0, next[n-1]); 
    }
};

image.png

作者简介:godweiyang知乎同名华东师范大学计算机系硕士在读,方向自然语言处理与深度学习喜欢与人分享技术与知识,期待与你的进一步交流~


相关文章
|
6月前
|
存储
Leetcode第383场周赛
在LeetCode第383场周赛中,选手完成了3道题目。第一题是关于边界上的蚂蚁,蚂蚁根据非零整数数组nums的值移动,返回蚂蚁返回边界上的次数。解题方法是计算数组累加和为0的次数。第二题涉及计算网格的区域平均强度,给定一个灰度图像和阈值,返回每个像素所属区域的平均强度。解题关键在于理解相邻像素和区域定义,并计算平均强度。第三题是恢复单词初始状态的最短时间问题,通过移除前k个字符并添加k个字符,求恢复原词所需的最短时间。解题策略是检查去除前k个字符后的子串是否能作为原词的前缀。
34 1
Leetcode第383场周赛
|
6月前
|
存储
Leetcode第382场周赛
```markdown 给定字符串`s`,计算按键变更次数,即使用不同键的次数,不考虑大小写差异。例如,`&quot;aAbBcC&quot;`变更了2次。函数`countKeyChanges`实现此功能。另外,求满足特定模式子集最大元素数,`maximumLength`函数使用`TreeMap`统计次数,枚举并构建子集,返回最大长度。最后,Alice和Bob玩鲜花游戏,Alice要赢需满足鲜花总数奇数、顺时针在[1,n]、逆时针在[1,m],返回满足条件的(x, y)对数,可通过奇偶性分类讨论求解。 ```
36 1
|
算法 机器人
LeetCode 周赛 351(2023/06/25)T2 有点意思
> **本文已收录到 [AndroidFamily](https://github.com/pengxurui/AndroidFamily),技术和职场问题,请关注公众号 \[彭旭锐] 和 \[BaguTree Pro] 知识星球提问。**
82 0
|
算法 Perl
力扣266场周赛
力扣266场周赛
93 0
|
算法 C++ Python
【每日算法Day 63】LeetCode 第 179 场周赛题解
起床打开 leetcode,准备看看今天搞点啥题目水一水的,突然发现周赛还剩 1 小时整。看了眼题目也都挺简单的,就把 4 道题都做掉了。
|
算法 C++
【每日算法Day 77】LeetCode 第 181 场周赛题解
【每日算法Day 77】LeetCode 第 181 场周赛题解
|
算法
LeetCode 周赛 335,纯纯手速场!
昨晚是 LeetCode 第 335 场周赛,你参加了吗?这场周赛整体难度不高,有两道模板题,第三题和第四题应该调换一下位置。
126 0
|
机器学习/深度学习 编译器
【AcWing周赛】AcWing第85场周赛
目录 &lt;一&gt;Acwing 4791. 死或生 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 &lt;二&gt;Acwing 4792. 最大价值 一、题目 1、原题链接 2、题目描述 二、解题报告: 1、思路分析 2、时间复杂度 3、代码详解 &lt;三&gt;Acwing 4793. 危险程度 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 &lt;四&gt; 知识风暴 1、排序不等式 2、贪心法 3、数据范围 4、并查集 基本操作
84 0
|
机器学习/深度学习 人工智能 安全
【AcWing周赛】AcWing第86场周赛
目录 <一>AcWing 4794. 健身 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 <二>AcWing 4795. 安全区域 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 <三>AcWing 4796. 删除序列 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
82 0
下一篇
无影云桌面