华为2019校招笔试-逻辑计算

题目描述

常用的逻辑运算有And(表示为&),Or(表示为|),Not(表示为!),他们的逻辑是:

1&1=1 1&0=0 0&1=0 0&0=0
1|1=1 1|0=1 0|1=1 0|0=0
!0=1 !1=0

其中,他们的优先关系为:Not(!)>And(&)>Or(|);
例如:

A|B&C 实际是 A(B&C)
A&B|C&D 实际是 (A&B)|(C&D)
!A&B|C 实际是 ((!A)&B)|C

输入描述

1.测试用例中间无空格,无需考虑空格
2.测试用例表示式中只会出现如下字符:

0,1,(,),&,|,!

3.测试用例所给的输入输出都是合法的。无需考虑非法输入。
4.测试用例表达式长度不会超过128个字符。
5.括号可以嵌套。

例如:

1|(1&0) = 1
1&0|0&1 = 0
!0&1|0 = 1
((!0&1))|0 = 1

示例1

输入

!(1&0)|0&1

输出

1

示例2

输入

!(1&0)&0|0

输出

0
#思路:有括号先把括号内内容取出运算。然后把运算完的结果拼接,作为新的输入。没有括号时,按照优先级#顺序运算。
#每一步都有输入输出参数。s1为某一步输入 s2为某一步输出
s='!(1&0)&0|0'
while(len(s)!=1):p1=0p2=0for i in range(len(s)):if(s[i]=='('):p1=iif(s[i]==')'):p2=ibreak#!   !1&0|0&1if(p1!=p2):s1=s[p1+1:p2]else:s1=sprint('输入',s1)s2=''for i in range(len(s1)):if(i>0 and s1[i-1]=='!'):continueif(s1[i]=='!'):if(s1[i+1]=='0'):s2=s2+'1'else:s2=s2+'0'else:s2=s2+s1[i]print(s2)#&s1=s2s2=''#s2为输出,s1指针如果指向了运算符,要判断是否和s2最后一项做运算。从而保证循环一遍就得到结果 #时间复杂度o(n)。for i in range(len(s1)):if(i>1 and s1[i-1]=='&'):continueif(s1[i]!='&'):s2=s2+s1[i]else:if(s2[len(s2)-1]=='1' and s1[i+1]=='1'):s2=s2[:len(s2)-1]+'1'else:s2=s2[:len(s2)-1]+'0'#|print(s2)s1=s2s2=''for i in range(len(s1)):if(i>1 and s1[i-1]=='|'):continueif(s1[i]!='|'):s2=s2+s1[i]else:if(s2[len(s2)-1]=='0' and s1[i+1]=='0'):s2=s2[:len(s2)-2]+'0'else:s2=s2[:len(s2)-1]+'1'print('本次输入输出',s2)if(p1!=p2):s=s[:p1]+s2+s[p2+1:]else:s=s2print('输出',s)

华为2019校招笔试-逻辑计算相关推荐

  1. 多益网络2019校招笔试

    多益网络2019届校招笔试 从n个数中取k个数,相加等于m,有多少种方法 final static int[] arr = {1, 2, 3, 4, 5, 6, 7};final static int ...

  2. 华为2020校招笔试编程题 看这篇就够了(上)

    背景 近日一位在华为的师兄整理了一份内部的提纲给我们,想着以后肯定不会去华为,于是乎分享给大家,看看菊花厂今年的笔试题目是什么样子的. 编程题范围 这好像来自一个华为内部的文档,据说今年华为内部也在进 ...

  3. 京东校招java笔试题_试卷: 京东2019校招笔试Java开发工程师笔试题(1-)

    D 把资源事先分类编号,按号分配,使进程在申请,占用资源时不会形成环路. 解析:死锁:在多道程序设计环境下,多个进程可能竞争一定数量的资源,.一个进程申请资源,如果资源不可用,那么进程进入等待状态.如 ...

  4. 华三2019校招笔试

    算法笔试 由20道英文选择题 5道英文名词解释 和5个大题 英文选择题主要涉及基础知识 5个英文名词解释  有  Maximum likelihood ; Decision Tree;Stochast ...

  5. 商汤科技自动驾驶研究员2019校招笔试第一题-跳台阶(每次可跳1~m级,跳到第n级的跳法总数)

    递推公式如下: n<=m时 v[n]=2<<(n-2) n>m时 v[n]=2*v[n-1]-v[n-1-m] 输入n超过10^18,考虑是维护一个供迭代的双向队列做动态规划, ...

  6. 2019校招农行笔试范围与经验

    就在今天上午刚刚参加了2019校招农行的笔试,在此想写下与大家一起分享下,也给后面的你们一些经验. 试题90分钟,周六上午9:00-11:00,去的时候比较远,早早就起来了,还在大学城里逛了一圈,正好 ...

  7. 九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题

    九月迅雷,华为,阿里巴巴,最新笔试面试十题 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的     i .每次从通里面 ...

  8. 2014九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试题

    九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题 题记 本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9.10月份陪伴了至少三届毕业生找工作的旅 ...

  9. 九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试五十题

    题记 本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9.10月份陪伴了至少三届毕业生找工作的旅程,包括校招中的笔试面试,今年也不会例外,我会在本博客开通3 ...

  10. 【校招VIP】产品思维能力之逻辑计算

    考点介绍: 对于产品笔试,行测是考察的重点之一,逻辑计算是产品经理必备的思维,逻辑判断这部分掌握的好的话,题是拿分项且耗时也是非常短的,因此我们要熟练掌握. 本期分享的产品思维能力之逻辑计算,分为试题 ...

最新文章

  1. 微信小程序使用wxParse,解决图片显示路径问题
  2. 网页布局(固定与不固定原理)
  3. Android常见命令
  4. C++:43---派生类向基类转换、静态/动态的类变量
  5. SpringCloud学习笔记014---可以使用json对rabbitmq进行封装,方便数据传输
  6. java 获取项目下的webapp_Spring Boot2 系列教程(一)纯 Java 搭建 SSM 项目
  7. Java 多态,接口
  8. oralce9i备份的数据导入到oralce10g中的过程
  9. PHP作用域和文件夹操作
  10. 查看计算机真实用户名(username)
  11. 动态规划求最大工作价值(java实现)
  12. python发送各类QQ邮件 —— smtplib与email模块
  13. 微信视频号值不值得去做
  14. SIP/VoIP之常见的语音问题
  15. JAVA要不要看源码_为什么要看源码、如何看源码,高手进阶必看
  16. cir模型matlab代码,如何用 Cir 文件进行PSPice 仿真
  17. 世界著名的膳食结构模式共有三种
  18. 科普 手机各种快充协议-PD是什么? QC又是什么
  19. 强烈建议收藏的5个在线图片压缩工具
  20. 阿里终面:分布式事务原理

热门文章

  1. 仅需6步!虹科教你如何在第三方软件CODESYS中配置PCAN
  2. iOS 网页截取长图
  3. [渝粤教育] 西安建筑科技大学 环境规划与管理 参考 资料
  4. Newcoder lxh裁木棍 (不开long double见祖宗 ceil前不加long long也去
  5. 纹理分析方法:共生矩阵的计算
  6. 修改Linux文件格式为unix
  7. 小程序input聚焦事件_微信小程序input失焦异常
  8. 计算机固态硬盘作用,固态硬盘是什么及作用
  9. CVPR2020 Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector论文翻译
  10. android word编辑图片,Word转换成图片详细教程.doc