给一个只包含 0, 1, * 的 String,将所有的* 替换成 0 或者 1, 返回所有的可能行

void GetAllString(int start, string & str, vector<string> & res)
 {
     if (start == str.size())
     {
         res.push_back(str);
     }
     else
     {
         bool has = false;
         for (int i = start; i < str.size(); i++)
         {
             if (str[i] == ‘*‘)
             {
                 str[i] = ‘1‘;
                 GetAllString(i + 1, str, res);
                 str[i] = ‘2‘;
                 GetAllString(i + 1, str, res);
                 str[i] = ‘*‘;
                 has = true;
                 break;
             }
         }
         if (!has)
             res.push_back(str);
     }
 }

 vector<string> GetAllString(string str)
 {
     vector<string> res;
     GetAllString(0, str, res);
     return res;
 }
时间: 2024-10-31 07:56:07

给一个只包含 0, 1, * 的 String,将所有的* 替换成 0 或者 1, 返回所有的可能行的相关文章

给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)

1 """ 2 #给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 3 #返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况) 4 解题思路: 5 1.设定一个空字典,去存储列表中的值和值出现的次数 6 2.使用L.count()方法可以统计出L中值出现的次数 7 3.使用sorted方法可以进行排序,sorted(iterable,key,reverse) 8 注意key是函数 9 4.列表中的元祖取值 d[i][j] i是哪一个元祖,j是元祖

给定一个只包含字符’(’,’)’,’{’,’}’,’[‘和’]&#39;的字符串,判断输入字符串是否有效

public class Bracket { public static void main(String[] args) { String str = "[()]"; System.out.println(isValid(str)); } // [()] public static boolean isValid(String str) { Stack<Character> stack = new Stack<>(); Map<Character, Ch

数据库中将null 替换成 0 或者其他文本

Oracle:可以用nvl(p1,p2) 该函数,将p1替换成p2, 但是请注意:p1,p2必须是同类型的,可以是数值number ,char ,date 比如不能nvl('jack',5)这样用,一个是char一个是number了 简单明了:nvl(null,0) 就可以解决了. 这里要说明一下小tip:在oracle中 当组函数[又名聚合函数]要处理数据全是空的时候,除了count()函数返回的是0,其他组函数全部返回空值. 所以当我们处理聚合函数的时候,count()函数不用特殊考虑. S

写一个Sublime Text 2插件(CSS文件里px单位替换成rem单位)

三年前我就知道了sublime text 不过那时候用DW还是很爽的样子,后来有天想为难自己了,于是用了两年的vim和五笔,最近又觉得这么好编辑器也可以试试,改变一下自己,用一下的,不过由于工作的原因,没有坚持下来,有时候顺手似乎比先进更重要一些. 最近工作都是做一些移动端的页面,而微信的长按出现二维码有个bug,在ios里缩放的页面长按是不会出现"识别二维码"的.所以需要转换一下,不要让页面缩放,要自适应,这个时候就用rem单位来做的会比较好一些,而我的同事之前开发了一个px to

ACM457现在给出了一个只包含大小写字母的字符串,不含空格和换行,要求把其中的大写换成小写,小写换成大写,然后输出互换后的字符串。输入 第一行只有一个整数m(m&lt;=10),表示测试数据组数。

#include<stdio.h> #include<string.h> int main() { int n; int i,j; char a[102]; scanf("%d",&n); getchar(); while(n--) { gets(a); j=strlen(a); for(i=0;i<j;i++) { if(a[i]>=65 && a[i]<=90) { a[i]=a[i]+32; } else { a[

python_exercise_给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)

# 设定给出的非空数组为list_a,如下list_a = [8,1,3,5,1,2,45,8,5,7,7,8,8,8,8,8,8,5,5] # 将list_a去重,留下唯一值list_a_set = set(list_a) # 将list_a去重后的值作为字典的key放到字典中list_a_dict = {x:None for x in list_a_set} # 遍历将list_a去重后的唯一值,统计唯一值出现的次数.把次数作为字典的value放到字典中for l in list_a_set

collection.toArray(new String[0])中new String[0]的作用

new string[0]的作用 比如:String[] result = set.toArray(new String[0]); Collection的公有方法中,toArray()是比较重要的一个. 但是使用无参数的toArray()有一个缺点,就是转换后的数组类型是Object[]. 虽然Object数组也不是不能用,但当你真的想用一个具体类型的数组,比如String[]时,问题就来了.而把Object[]给cast成 String[]还是很麻烦的,需要用到这个: String[] str

只包含因子2 3 5的数(数论,二分,加丑数思想)

个人心得:这题错了很多很多次,一开始单纯是想一直除2,3,5能除尽就可以了,但是数据太大,从第九组数据开始就超时了. 后面听了队友的意见打表,这里用了丑数的思想,就是从2,3,5开始依次取出最小的数分别乘以2,3,5若不存在就放进优先队列, 当然要用set就行存储,s.count()就是查找是否存在的函数,可惜还是超时了,应该是stl中的lower_bound函数效率太低, 没办法就只能用另外的数组存储然后自己根据二分写查找函数,后面对longlong进行适当的输出就过了. 题目: K的因子中只

51nod 1010 只包含因子2 3 5的数

基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = 13,S中 >= 13的最小的数是15,所以输出15. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 10000) 第2 - T + 1行:每行1个数N(1 <=