当前位置: 首页 > news >正文

8.29 贪心|摩尔投票

 

 

lc表达式树

class Solution {
private:
const double eps = 1e-5;
// 定义四种运算的函数对象
vector<function<double(double, double)>> ops = {
[](double a, double b) { return a + b; },  // 加法
[](double a, double b) { return a - b; },  // 减法
[](double a, double b) { return a * b; },  // 乘法
[this](double a, double b) {                   // 除法(处理除数为0)
if (fabs(b) < eps) return 1e18;
return a / b;
}
};

// 检查是否存在接近24的结果
bool check(const vector<double>& res) {
for (double num : res) {
if (fabs(num - 24) < eps) {
return true;
}
}
return false;
}

public:
bool judgePoint24(vector<int>& nums) {
// 生成4个数字的所有排列
sort(nums.begin(), nums.end());
do {
double a = nums[0], b = nums[1], c = nums[2], d = nums[3];
// 遍历所有运算组合(3次运算,每次4种选择)
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
for (int k = 0; k < 4; ++k) {
// 计算5种不同的运算顺序(表达式树结构)
double x1 = ops[i](ops[j](ops[k](a, b), c), d);
double x2 = ops[i](ops[j](a, ops[k](b, c)), d);
double x3 = ops[i](ops[j](a, b), ops[k](c, d));
double x4 = ops[i](a, ops[j](ops[k](b, c), d));
double x5 = ops[i](a, ops[j](b, ops[k](c, d)));

if (check({x1, x2, x3, x4, x5})) {
return true;
}
}
}
}
} while (next_permutation(nums.begin(), nums.end()));

return false;
}
};

 

 

lc229.原地hash,摩尔投票

 

 

 

lc881

sort+双指针+贪心

体重高的自觉点,先上船|・`)

class Solution
{
public:
int numRescueBoats(vector<int>& people, int limit) {
sort(people.begin(), people.end());
int left = 0, right = people.size() - 1;
int boats = 0;
while (left <= right)
{
if (people[left] + people[right] <= limit)
{
// 两人同乘一艘船
left++;

}
// 较重者单独乘一艘船
right--;
boats++;
}
return boats;
}
};

 

lc921

看个标题和样例 就可以写代码啦^^

class Solution {
public:
int minAddToMakeValid(string s) 
{
stack<int> st;
for(auto& c:s)
{
if(!st.empty() && c==')' && st.top()!=c)
st.pop();
else
st.push(c);           
}
return (int)st.size();
}
};

 

 

http://www.dtcms.com/a/355661.html

相关文章:

  • 【不说废话】pytorch中.to(device)函数详解
  • 基于K8s部署服务:dev、uat、prod环境的核心差异解析
  • 工业级TF卡NAND+北京君正+Rk瑞芯微的应用
  • openEuler Embedded 的 Yocto入门 : 5.基本变量与基本任务详解
  • Linux 系统 poll 与 epoll 机制1:实现原理与应用实践
  • DINOv2 vs DINOv3 vs CLIP:自监督视觉模型的演进与可视化对比
  • 传统set+new写法与Builder写法的区别
  • LightRAG
  • 客户案例 | 柳钢集团×甄知科技,燕千云ITSM打造智能服务新生态
  • 第1.9节:神经网络与深度学习基础
  • 基于matplotlib库的python可视化:以北京市各区降雨量为例
  • “今年业务是去年5倍以上”,工业智能体掀热潮
  • 拉普拉斯变换求解线性常系数微分方程
  • 数字接龙(dfs)(蓝桥杯)
  • npm install 安装离线包的方法
  • 【论文阅读】健全个体无辅助运动期间可穿戴传感器双侧下肢神经机械信号的基准数据集
  • 如何打造品牌信任护城河?
  • Spark入门:从零到能跑的实战教程
  • 腾讯云重保流程详解:从预案到复盘的全周期安全防护
  • ♻️旧衣回收小程序|线上模式新升级
  • 网页爬虫的实现
  • 苹果ImageIO零日漏洞分析:攻击背景与iOS零点击漏洞历史对比
  • 2025 深度洞察!晶圆背面保护膜市场全景调研与投资机遇解析
  • 推荐一款JTools插件Crypto
  • 基于Spring Session + Redis + JWT的单点登录实现
  • Redis使用简明教程
  • SQL 查询优化全指南:从语句到架构的系统性优化策略
  • 初识分布式事务
  • week5-[一维数组]归并
  • 数据结构与算法-算法-42. 接雨水