dfs|位运算

lc

lcr007

class Solution {

public:

int singleNumber(vector<int>& nums) {

int sunm=0,ret=0,x=0;

for(int i=0;i<32;i++)

{

int sum=0;//每次循环 重置sum

//数的每一位进行处理

for(auto& c:nums)

{

sum+=(c>>i)&1;

}

x=sum%3;

ret|=(x<<i);

}

return ret;

}

};

lc1376

树的最大深度dfs

自底向上

++maxPathSum = max(maxPathSum, dfs(y))++

return ++maxPathSum + informTimex;++

class Solution {

public:

int numOfMinutes(int n, int headID, vector<int>& manager, vector<int>& informTime) {

vector<vector<int>> g(n);

for (int i = 0; i < n; i++) {

if (manageri >= 0) {

++gmanager\[i].push_back(i); // 建树++

}

}

auto dfs = \&(this auto&& dfs, int x) -> int {

int maxPathSum = 0;

for (int y : gx) { // 遍历 x 的儿子 y(如果没有儿子就不会进入循环)

++maxPathSum = max(maxPathSum, dfs(y));++

}

return ++maxPathSum + informTimex;++

};

return dfs(headID); // 从根节点 headID 开始递归

}

};

相关推荐
To_OC7 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎8 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC8 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn9 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹9 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术10 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
CV-Climber12 小时前
检索技术的实际应用
人工智能·算法
hhzz13 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
从零开始的代码生活_14 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法