关注
第三题100
public long GetNumOfExpress(String express, boolean desired) {
// write code here
if (express==null || express.length()==0 || !isValid(express.toCharArray())){
return 0;
}
char[] str = express.toCharArray();
int len = str.length;
long[][] dpTrue = new long[len][len];
long[][] dpFalse = new long[len][len];
if (str[0]=='0'){
dpTrue[0][0] = 0;
dpFalse[0][0] = 1;
}
else {
dpTrue[0][0] = 1;
dpFalse[0][0] = 0;
}
// 区间dp
for (int j=0;j<len;j+=2){
if (str[j]=='0'){
dpTrue[j][j] = 0;
dpFalse[j][j] = 1;
}
else {
dpTrue[j][j] = 1;
dpFalse[j][j] = 0;
}
for (int i=j-2;i>=0;i-=2){
for (int k=i+1;k<j;k+=2){
if (str[k]=='&'){
dpTrue[i][j] += dpTrue[i][k-1]*dpTrue[k+1][j];
dpFalse[i][j]+= dpTrue[i][k-1]*dpFalse[k+1][j]+dpFalse[i][k-1]*dpTrue[k+1][j]+dpFalse[i][k-1]*dpFalse[k+1][j];
}
else if (str[k]=='|'){
dpTrue[i][j] += dpTrue[i][k-1]*dpTrue[k+1][j] + dpTrue[i][k-1]*dpFalse[k+1][j] + dpFalse[i][k-1]*dpTrue[k+1][j];
dpFalse[i][j] += dpFalse[i][k-1]*dpFalse[k+1][j];
}
else {
dpTrue[i][j] += dpTrue[i][k-1]*dpFalse[k+1][j] + dpFalse[i][k-1]*dpTrue[k+1][j];
dpFalse[i][j] += dpTrue[i][k-1]*dpTrue[k+1][j] + dpFalse[i][k-1]*dpFalse[k+1][j];
}
}
}
}
if (desired)
return dpTrue[0][len-1];
else
return dpFalse[0][len-1];
}
private boolean isValid(char[] str){
boolean flag = true;
for (char c:str){
if (flag){
if (c!='0' && c!='1')
return false;
flag = false;
}
else {
if (c!='|' && c!='&' && c!='^')
return false;
flag = true;
}
}
if (flag)
return false;
return true;
}
查看原帖
点赞 评论
相关推荐
04-07 22:03
河南开封科技传媒学院 C++ 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 毕业了,有些话只能藏在心里了2.8W
- 2... 毕业啦!我们要一起去广州打拼啦!2.6W
- 3... 2026春招到底卷成什么样了?填问卷说出真相,最高领200元现金红包2.2W
- 4... 字节 中国交易与广告 后端一面1.9W
- 5... 华为暑期实习1.1W
- 6... 从腾讯 字节到阿里 从前端到Agent 感谢一路走来的我自己😭1.1W
- 7... 大三下了 学校不放实习怎么办9841
- 8... 别人:阿里 字节 腾讯9757
- 9... 211本,130投0面,agent应用开发,简历求助!8172
- 10... 从阿里被裁到快手升P6,我花了四年8052
正在热议
更多
# 这个offer值得去吗? #
30108次浏览 212人参与
# 机械人还在等华为开奖吗? #
339041次浏览 1652人参与
# 联宝杯大学生创新大赛,你的技术值得产业级答案 #
50237次浏览 778人参与
# 如果春招能重来,我会___ #
28549次浏览 281人参与
# 24秋招避雷总结 #
1019548次浏览 7097人参与
# 你会因为行情,降低找工作标准吗? #
43970次浏览 319人参与
# 在爱玛,骑向未来 #
19715次浏览 388人参与
# 远程面试的尴尬瞬间 #
363669次浏览 2062人参与
# 大学最后一个寒假,我想…… #
103201次浏览 846人参与
# 机械求职避坑tips #
103592次浏览 589人参与
# 校招薪资来揭秘 #
960046次浏览 4060人参与
# 华为池子有多大 #
177775次浏览 930人参与
# 记录我的毕业季 #
4086次浏览 109人参与
# 26届春招投递记录 #
8493次浏览 71人参与
# 机械人,你的秋招第一份简历被谁挂了 #
268625次浏览 2450人参与
# 网易求职进展汇总 #
212985次浏览 1523人参与
# 刚入职就____,这样正常吗? #
148656次浏览 709人参与
# 选择和努力,哪个更重要? #
211665次浏览 1566人参与
# 去年你投递实习了吗? #
32797次浏览 339人参与
# 春招前还要继续实习吗? #
66842次浏览 330人参与
# 字节开奖 #
158983次浏览 780人参与
# 做完笔试后你收到面试了吗? #
65213次浏览 309人参与
查看9道真题和解析