当前位置:网站首页>640. 求解方程
640. 求解方程
2022-08-10 17:09:00 【anieoo】
原题链接:640. 求解方程
solution:
class Solution {
public:
pair<int, int> work(string str) {
if(str[0] != '+' && str[0] != '-') str = '+' + str;
int a = 0, b = 0;
for(int i = 0;i < str.size();i++) {
int j = i + 1;
while(j < str.size() && isdigit(str[j])) j++;
int c = 1;
if(i + 1 <= j - 1) c = stoi(str.substr(i + 1, j - i - 1));
if(str[i] == '-') c = -c;
if(j < str.size() && str[j] == 'x') {
a += c;
i = j;
} else {
b += c;
i = j - 1;
}
}
return {a, b};
}
string solveEquation(string equation) {
int k = equation.find('=');
auto left = work(equation.substr(0, k)), right = work(equation.substr(k + 1));
int a = left.first - right.first, b = right.second - left.second;
if(a == 0) {
if(b == 0) return "Infinite solutions";
return "No solution";
} else {
return "x=" + to_string(b / a);
}
}
};
边栏推荐
猜你喜欢
v-for指令:根据数据生成列表结构
电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)【6节点 9节点 14节点 26节点 30节点 57节点】(Matlab代码实现)
Polling and the principle of webSocket and socket.io
「软件架构」10种常见的软件架构模式
被大厂面试官参考的Redis笔记,堪称Redis面试天花板
符合信创要求的堡垒机有哪些?支持哪些系统?
《安富莱嵌入式周报》第277期:业界首款Cortex-M55+Ethos-U55 NPU套件发布,20个墨水屏菊花链玩法,氙气灯镇流器设计
Redis下载安装教程 (windows)
sprintboot验证码kaptcha 自定义图片样式
神经网络有哪些激活函数,卷积神经网络有哪些
随机推荐
LabView---双通道示波器(内含信号发生器)
v-model指令:获取和设置表单元素的值
【QT VS项目名称修改】
Splitting and merging long markdown documents
年薪60万+?这份10万字的面试突击宝典涵盖阿里 P5 工程师~P7 所有技术栈
leetcode:159.最多有两个不同字符的最长子串
【随笔】自己看的... 保存
剑指OfferⅡ 045.二叉树最底层最左边的值 dfs
SQL优化的魅力!从 30248s 到 0.001s
unr #6day1 T2题解
超宽带uwb精准定位,厘米级室内定位技术,实时高精度方案应用
HTTP学习——协议与术语、HTTP、缓存、Cookie
BalsnCTF2021
shell获取前n天的日期
需求骤降,成本激增,PC行业再次入冬
RMAN-08120的处理
8.9模拟赛总结
深度学习培训二笔记
注解和反射、持续
PS2手柄通讯协议解析—附资料和源码「建议收藏」