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

宿迁房产网签查询系统seo顾问是什么

宿迁房产网签查询系统,seo顾问是什么,学做川菜网站,做淘宝客的网站怎么备案文章目录 题目描述与示例题目描述输入描述输出描述示例输入输出 解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 给定一个合法的表达式字符串,其中只包含非负整数、加法、减法以及乘法符号(不…

文章目录

  • 题目描述与示例
    • 题目描述
    • 输入描述
    • 输出描述
    • 示例
      • 输入
      • 输出
  • 解题思路
  • 代码
    • Python
    • Java
    • C++
    • 时空复杂度
  • 华为OD算法/大厂面试高频题算法练习冲刺训练

题目描述与示例

题目描述

给定一个合法的表达式字符串,其中只包含非负整数、加法、减法以及乘法符号(不会有括号),例如7+3*4*5+2+4-3-1,请写程序计算该表达式的结果并输出

输入描述

输入有多行,每行是一个表达式,输入以END作为结束

输出描述

每行表达式的计算结果

示例

输入

7+3*4*5+2+4-3-1
2-3*1
END

输出

69
-1

解题思路

本题属于经典的中缀表达式计算类栈题,但相比起LeetCode上的几道类似题目相对简单。

代码

Python

# 题目:【栈】Bilibili2019秋招-简单表达式求值
# 作者:闭着眼睛学数理化
# 算法:栈
# 代码有看不懂的地方请直接在群上提问# 更新栈的函数
def update_stack(stack, preSign, num):# 如果前一个符号为乘号,则将栈顶元素乘以numif preSign == "*":stack[-1] *= num# 如果前一个符号为减号,则将-num压入栈中elif preSign == "-":stack.append(-num)# 如果前一个符号为加号,则将num压入栈中elif preSign == "+":stack.append(num)return# 表达式求值的核心函数
def cal_res(line):# 初始化一个空栈stack = list()# 初始化上一个遇到的符号preSign为加号preSign = "+"# 初始化遍历过程中遇到的数字num为0num = 0for ch in line:# 遇到数字的情况,更新numif ch.isdigit():num = num * 10 + int(ch)# 遇到符号(+、-或*)的情况else:# 需要根据num和之前的符号preSign更新栈update_stack(stack, preSign, num)# num已经用完,需要重新将其赋值为0num = 0# 此时的ch赋值给preSign,留着下次使用preSign = ch# 最后一个num尚未计算过,故还需再次调用update_stack()函数update_stack(stack, preSign, num)# 对整个栈进行求和,即为最终的计算结果return sum(stack)line = input()
ans = list()
# 反复输入line,直到输入END
while line != "END":ans.append(cal_res(line))line = input()for res in ans:print(res)

Java

import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);List<Long> ans = new ArrayList<>();String line = scanner.nextLine();while (!line.equals("END")) {ans.add(calRes(line));line = scanner.nextLine();}for (long res : ans) {System.out.println(res);}}static long calRes(String line) {List<Long> stack = new ArrayList<>();char preSign = '+';long num = 0;for (char ch : line.toCharArray()) {if (Character.isDigit(ch)) {num = num * 10 + Character.getNumericValue(ch);} else {updateStack(stack, preSign, num);num = 0;preSign = ch;}}updateStack(stack, preSign, num);long result = 0;for (long numInStack : stack) {result += numInStack;}return result;}static void updateStack(List<Long> stack, char preSign, long num) {if (preSign == '*') {stack.set(stack.size() - 1, stack.get(stack.size() - 1) * num);} else if (preSign == '-') {stack.add(-num);} else if (preSign == '+') {stack.add(num);}}
}

C++

#include <iostream>
#include <vector>using namespace std;void updateStack(vector<long long> &stack, char preSign, long long num) {if (preSign == '*') {stack.back() *= num;} else if (preSign == '-') {stack.push_back(-num);} else if (preSign == '+') {stack.push_back(num);}
}long long calRes(string line) {vector<long long> stack;char preSign = '+';long long num = 0;for (char ch : line) {if (isdigit(ch)) {num = num * 10 + (ch - '0');} else {updateStack(stack, preSign, num);num = 0;preSign = ch;}}updateStack(stack, preSign, num);long long result = 0;for (long long numInStack : stack) {result += numInStack;}return result;
}int main() {vector<long long> ans;string line;while (true) {getline(cin, line);if (line == "END") {break;}ans.push_back(calRes(line));}for (long long res : ans) {cout << res << endl;}return 0;
}

时空复杂度

时间复杂度:O(Nt)。字符串line中的每一个元素仅需遍历一次。t为询问次数。

空间复杂度:O(N)。栈所占空间。


华为OD算法/大厂面试高频题算法练习冲刺训练

  • 华为OD算法/大厂面试高频题算法冲刺训练目前开始常态化报名!目前已服务100+同学成功上岸!

  • 课程讲师为全网50w+粉丝编程博主@吴师兄学算法 以及小红书头部编程博主@闭着眼睛学数理化

  • 每期人数维持在20人内,保证能够最大限度地满足到每一个同学的需求,达到和1v1同样的学习效果!

  • 60+天陪伴式学习,40+直播课时,300+动画图解视频,300+LeetCode经典题,200+华为OD真题/大厂真题,还有简历修改、模拟面试、专属HR对接将为你解锁

  • 可上全网独家的欧弟OJ系统练习华子OD、大厂真题

  • 可查看链接 大厂真题汇总 & OD真题汇总(持续更新)

  • 绿色聊天软件戳 od1336了解更多

http://www.hrbkazy.com/news/33468.html

相关文章:

  • 集团网站建设公司网络黄页推广软件哪个好
  • 做pc网站排正版google下载
  • 保定网站建设方案推广营销方案模板
  • 如何做网站布局优化安卓内核级优化神器
  • seo网站布局用今日头条导入自己网站外链
  • 深圳公司做网站标题优化方法
  • 油田公司健康企业建设上海优化公司有哪些
  • 怎么才能访问自己做的网站合肥正规的seo公司
  • 外贸手机商城网站建设 深圳做seo必须有网站吗
  • 专业做网站较好的公司网站关键词推广
  • 公司网站建设具体实施方案快速排名优化推广手机
  • 腾和企业网站管理系统全网搜索引擎
  • 床上爱做网站可以免费打开网站的软件
  • 成都网站游戏设计微商软文
  • 企业管理培训课程学习seo教程下载
  • 小白学做搭建网站杭州网络推广有限公司
  • wordpress虚拟资源主题seo网站排名优化价格
  • wordpress邮箱解析淘宝seo排名优化
  • 网站设计好学吗sem竞价教程
  • 我wordpress top主题seo简单速排名软件
  • 网站制作 天津搭建网站的软件
  • 做女装批发哪个网站好网址收录大全
  • wordpress蘑菇街满足seo需求的网站
  • 网站域名虚拟主机成都抖音seo
  • 网站开发后如何维护seo流量的提升的软件
  • 没有网站可以做淘宝客吗广告联盟全自动赚钱系统
  • xrea免费 wordpress 加速网站优化seo推广服务
  • 西安网站建设公司排资源网站优化排名优化
  • 网站建设调查表软件外包公司排行
  • 微信做明天展现网站要多少钱信息推广的方式有哪些