书籍表达式得到期望结果的组成种数

题目

给定一个只由0(假)、1(真)、&(逻辑与)、|(逻辑或)和^(异或)五种组成的字符串express,再给定一个布尔值desired。返回express能有多少种组合方式。可以达到desired的结果。

举例

express“1^0|0|1”,desired=false.

只有1^((0|0)|1)和1^(0|(0|1))的组合可以得到false,返回2.

express=“1”,desired=false

无组合则可以得到false,返回0。

表达式得长度必须是奇数

表达式下标为偶数位置的字符一定是'0'或'1'。

表达式下标为奇数位置的字符一定是'&'或‘|’或‘^’

public boolean isValid(char[] exp){if((exp.length & 1) == 0){return false;}for(int i = 0;i<exp.length;i = i + 2){int((exp[i] != '1') && (exp[i] != '0')){return false;}}for(int i = 1;i<exp.length;i = i + 2){int((exp[i] != '&') && (exp[i] != '|') && (exp[i] != '^') ){return false;}}return true;
}public int num1(String express,boolean desired){if(express == null || express.equals("")){return 0;}char[] exp = express.toCharArray();if(!isValid(exp)){return 0;}return p(exp,desitred,0,exp.length -1);
}public int p(char[] exp,boolean desired,int l,int r){if( l == r){if(exp[l] == '1'){return desired ? 1 : 0;}else{return desired ? 0 : 1;}}int res = 0;if(desired){for(int i = l + 1;i < r; i += 2){switch(exp[i]){case '&':res += p(exp,true,l,i-1) *  p(exp,true,i+1,r);break;case '|':res += p(exp,true,l,i-1) *  p(exp,false,i+1,r);res += p(exp,false,l,i-1) *  p(exp,true,i+1,r);res += p(exp,true,l,i-1) *  p(exp,true,i+1,r);break;case '^':res += p(exp,true,l,i-1) *  p(exp,false,i+1,r); res += p(exp,false,l,i-1) *  p(exp,true,i+1,r);break;}}}else{for(int i = l + 1;i < r; i += 2){switch(exp[i]){case '&':res += p(exp,false,l,i-1) *  p(exp,true,i+1,r);res += p(exp,true,l,i-1) *  p(exp,false,i+1,r);res += p(exp,false,l,i-1) *  p(exp,false,i+1,r);break;case '|':res += p(exp,false,l,i-1) *  p(exp,false,i+1,r);break;case '^':res += p(exp,true,l,i-1) *  p(exp,true,i+1,r); res += p(exp,false,l,i-1) *  p(exp,false,i+1,r);break;}}    }return res;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/40205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

负载均衡类型和算法解析

假如你正在设计和开发一个分布式服务系统&#xff0c;系统中存在一批能够独立运行的服务&#xff0c;而在部署上也采用了集群模式以防止出现单点故障。所谓集群&#xff0c;就是指将多个服务实例集中在一起&#xff0c;对外提供同一业务功能&#xff0c;也就是任意请求都可以由…

吉利银河L6 AQS空气质量监控系统

结论 顶配才有AQS 开启空调且auto模式 则默认开启AQS 无法关闭AQS AQS的作用 银河L6 AQS触发 和 图标 AQS官方配置参数 官方文档 吉利用户手册

开源即正义,3D软件Blender设计指南

在当今数字化时代&#xff0c;开源软件的崛起不仅代表着技术的发展&#xff0c;更象征着一种信息自由和技术民主的理念。其本质是集众人之智&#xff0c;共同去完善一个软件&#xff0c;最终使双方互惠共赢。具体来说&#xff0c;开源的价值&#xff0c;在于打破资源垄断&#…

Spring的事务管理、AOP实现底层

目录 spring的事务管理是如何实现的&#xff1f; Spring的AOP的底层实现原理 spring的事务管理是如何实现的&#xff1f; 首先&#xff0c;spring的事务是由aop来实现的&#xff0c;首先要生成具体的代理对象&#xff0c;然后按照aop的整套流程来执行具体的操作逻辑&#xf…

NLP - 基于bert预训练模型的文本多分类示例

项目说明 项目名称 基于DistilBERT的标题多分类任务 项目概述 本项目旨在使用DistilBERT模型对给定的标题文本进行多分类任务。项目包括从数据处理、模型训练、模型评估到最终的API部署。该项目采用模块化设计&#xff0c;以便于理解和维护。 项目结构 . ├── bert_dat…

苹果AI的国产大模型之争,没有悬念

文 | 智能相对论 作者 | 陈泊丞 苹果终于公布了最新的AI进程。 一个月前&#xff0c;正如此前预期的那样&#xff0c;人工智能是今年 WWDC 发布会的焦点。全程105分钟的主题演讲&#xff0c;就有40多分钟用于介绍苹果的AI成果。 苹果似乎还有意玩了一把“谐音梗”&#xff…

用机器改变人类方向

1800 世纪初&#xff0c;美国迎来了工业革命&#xff0c;这是一个由技术进步推动的变革时代。新机器和制造技术的引入重塑了经济格局&#xff0c;提高了生产效率&#xff0c;同时减少了某些领域对手工劳动的需求。因此&#xff0c;这种转变导致了失业。 如今&#xff0c;我们看…

实现点击按钮导出页面pdf

在Vue 3 Vite项目中&#xff0c;你可以使用html2canvas和jspdf库来实现将页面某部分导出为PDF文档的功能。以下是一个简单的实现方式&#xff1a; 1.安装html2canvas和jspdf&#xff1a; pnpm install html2canvas jspdf 2.在Vue组件中使用这些库来实现导出功能&#xff1a;…

统计信号处理基础 习题解答11-11

题目 考虑矢量MAP估计量 证明这个估计量对于代价函数 使贝叶斯风险最小。其中&#xff1a;, &#xff0c;且. 解答 贝叶斯风险函数&#xff1a; 基于概率密度的非负特性&#xff0c;上述对积分要求最小&#xff0c;那就需要内层积分达到最小。令内层积分为&#xff1a; 上述积…

苹果Mac电脑能玩什么游戏 Mac怎么运行Windows游戏

相对于Windows平台来说&#xff0c;Mac电脑可玩的游戏较少。虽然苹果设备的性能足以支持各种大型游戏&#xff0c;但由于系统以及苹果配套服务的限制&#xff0c;很多游戏无法在Mac系统中运行。不过&#xff0c;借助虚拟机软件&#xff0c;Mac电脑可以突破系统限制玩更多的游戏…

react中jsx的语法规则

1.react核心库react.development.js 2.react_dom库&#xff0c;用于支持react操作dom&#xff08;react-dom.development.js&#xff09; 3.引入bable&#xff0c;解析jsx语法的库&#xff0c;用于将jsx转换为js(babel.min.js) 上述三个库是写基础react的基本库 下面我将用…

光照老化试验箱在化工产品暴晒测试中的应用

概述 光照老化试验箱是一种模拟自然光照条件下材料老化情况的实验设备&#xff0c;广泛应用于化工、建材、电子、汽车等行业中对材料的耐候性、耐光性能等进行测试。通过模拟日光中的紫外线和温度等环境因素&#xff0c;加速材料老化过程&#xff0c;以此评估材料在长期使用中…

2024阿里云大模型自定义插件(如何调用自定义接口)

1&#xff0c;自定义插件入口 2&#xff0c;插件定义&#xff1a;描述插件的参数 2.1&#xff0c;注意事项&#xff1a; 2.1.1&#xff0c;只支持json格式的参数&#xff1b;只支持application/JSON&#xff1b;如下图&#xff1a; 2.1.2&#xff0c;需要把接口描述进行修改&a…

03:Spring MVC

文章目录 一&#xff1a;Spring MVC简介1&#xff1a;说说自己对于Spring MVC的了解&#xff1f;1.1&#xff1a;流程说明&#xff1a; 一&#xff1a;Spring MVC简介 Spring MVC就是一个MVC框架&#xff0c;Spring MVC annotation式的开发比Struts2方便&#xff0c;可以直接代…

LeetCode 算法:二叉搜索树中第K小的元素 c++

原题链接&#x1f517;&#xff1a;二叉搜索树中第K小的元素 难度&#xff1a;中等⭐️⭐️ 题目 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 小的元素&#xff08;从1开始计数&#xff09;。 示例 1&#xff1a;…

网络爬虫之什么是代码混淆?初步理解代码混淆

爬虫逆向之什么是代码混淆&#xff1f;初步理解代码混淆 在网络爬虫和逆向工程的过程中&#xff0c;代码混淆是一项常见的技术&#xff0c;旨在保护代码不被轻易理解和逆向。对于爬虫工程师来说&#xff0c;理解并破解代码混淆是一个重要的技能。本文将详细介绍代码混淆的基本概…

GUI开发

Question One Java 实现动作监听&#xff0c;网格布局添加四个按钮&#xff0c;实现四个不同的文本显示 import java.awt.*; import java.awt.event.*; import javax.swing.*;class myGUI extends JFrame implements ActionListener{private Button b1, b2, b3, b4;private Tex…

0627,0628,0629,排序,文件

01&#xff1a;请实现选择排序&#xff0c;并分析它的时间复杂度&#xff0c;空间复杂度和稳定性 void selection_sort(int arr[], int n); 解答&#xff1a; 稳定性&#xff1a;稳定&#xff0c; 不稳定的&#xff0c;会发生长距离的交换 4 9 9 4 1 &#xf…

ubuntu,linux下屏蔽坏块方法-240625-240702封存

在windows下的屏蔽坏道的方法 机械硬盘坏道的文件系统级别的屏蔽方法_硬盘如何屏蔽坏扇区-CSDN博客 https://blog.csdn.net/cyuyan112233/article/details/139408503?spm1001.2014.3001.5502 【免费】磁盘坏道屏蔽工具磁盘坏道屏蔽工具_机械硬盘屏蔽坏扇区资源-CSDN文库 https…

第一周题目总结

1.车尔尼有一个数组 nums &#xff0c;它只包含 正 整数&#xff0c;所有正整数的数位长度都 相同 。 两个整数的 数位不同 指的是两个整数 相同 位置上不同数字的数目。 请车尔尼返回 nums 中 所有 整数对里&#xff0c;数位不同之和。 示例 1&#xff1a; 输入&#xff1a…