public class BinaryAlgorithm { /** * 在linux系统中 1,2,4分别代表 执行,写入,读取 * 实际上是二进制中 * 0001 * 0010 * 0100 * 可以看出任意非空子集的和 各不相同 * 利用这样的特性可以计算 一个集合的子集 */ public List<String> getStrSubstringSet(String str){ List<String> result = new ArrayList<String>(); char[] chars = str.toCharArray(); int length = chars.length;//字符串长度 int countStr = 2<<length - 1;//有多少非空子集 for (int i = 1; i <= countStr; i++) { String binaryString = Integer.toBinaryString(i);//把子集个数转化为二进制 int zeroCount = length - binaryString.length(); for (int j = 0; j < zeroCount; j++) binaryString = "0"+binaryString;//把长度补齐和字符长度一致 char[] binaryStr = binaryString.toCharArray();//二进制的字符串 StringBuilder sb = new StringBuilder(); for (int j = 0; j < binaryStr.length; j++) { if(binaryStr[j]=='1') sb.append(str.charAt(j));//如果这里是1的话就记录下来 } result.add(sb.toString()); } return result; } public static void main(String[] args) { BinaryAlgorithm ba = new BinaryAlgorithm(); System.out.println(ba.getStrSubstringSet("abcd")); } }
相关推荐
在给定的问题中,我们需要编写一个名为`countBinarySubstrings`的Python函数,该函数接收一个二进制字符串`s`作为输入,然后计算并返回具有相同数量连续0和1的非空子字符串的数量。这里的“相同数量”指的是子字符串...
这道题目要求我们编写一个算法,来计算给定二进制字符串中具有相同数量连续0和1的非空子串的数量。这里的“相同数量”是指子串中的0和1都是连续的,而且它们的数量相等。例如,对于输入字符串 "00110011",有效的...
14. **字符串子串**:字符串"copyright"有46个子串,包括自身和所有非空子串。 15. **二进制转换**:十进制小数13.375对应的二进制是1101.011。 16. **栈的性质**:栈是后进先出的数据结构,根据入栈顺序,合法的...
3. **字符串S的非空子串数目** - 正确答案:A. 29 - 解析:对于字符串“Olympic”,其长度为7。一个长度为n的字符串,其所有可能的非空子串总数为n*(n+1)/2。因此,“Olympic”的非空子串数量为7*(7+1)/2 = 28。...
3. 字符串子串:计算字符串的非空子串数目,例如S="Olympic"有17个非空子串。 4. 完全二叉树:对于一个有2*N-1个结点的完全二叉树,叶节点数是N。 5. 数组排序:通过交换元素最小化排序次数,例如数组{8, 23, 4, 16,...
3. 字符串S="Olympic"的非空子串数目,包括所有可能的连续子字符串,从1个字符到整个字符串本身,总计17种。 4. 完全二叉树的叶节点数可以通过公式2*N-(2*N-1)/2计算得出,N表示总节点数,所以当有2*N-1个结点时,叶...
- **知识点**:掌握计算字符串非空子串数量的方法,以及如何通过数学公式解决此类问题。 **4. 完全二叉树有 2*N-1 的结点,则它的叶子结点数目是( )。** - **解析**:完全二叉树的叶子结点数可以根据其节点总数...
9. **字符串子串**:字符串"Olympic"的非空子串总数包括所有可能的首字符开始的字符串,加上空字符串,总共是17个。 10. **Web2.0**:Web2.0强调用户交互和内容共享,Flickr是一个典型代表,而Sina、Yahoo和Google...
- 对于长度为n的字符串,其非空子串的总数为(n*(n+1))/2。 - 所以,S的非空子串数目为(7*8)/2 = 28。 **正确答案**:B.28 #### 4. 完全二叉树的叶子结点数目 - **知识点**: - 完全二叉树是指除了最后一层外...
9. **字符串子串**:一个字符串的非空子串是指由字符串中的字符组成的任意连续序列,包括自身。 10. **Web2.0**:Web2.0强调用户生成内容和互动分享,如Flickr支持用户上传和分享照片。 11. **递归与栈**:递归...
对于非结构化文本数据,`fprintf`可以用来输出字符串、数值等;而`fscanf`则可以从文件中读取特定格式的数据,如数值或日期。对于二进制数据,MATLAB提供了`fwrite`和`fread`,这两个函数可以高效地读写整数、浮点数...
- 若字符串长度为n,则它的非空子串总数为n*(n+1)/2。 - 对于字符串"Olympic"而言,其长度为7,因此非空子串的数目为28。 #### 10. Web2.0的应用案例 - **知识点概述**:Web2.0是指互联网发展的一个阶段,强调...
- **答案解析**:字符串“AAABBBCCC”的长度为9,可以形成的不同非空子串数目可以通过组合计算得出。该字符串由三个不同的重复序列组成,因此不同的非空子串总数为\(9+8+7+...+1=45\)种情况。 **20. 仿生学的问世...
9. **字符串子串**:字符串"S= "Olympic ""的非空子串数目可以通过计算所有可能的连续子串来得出,这里为17个。 10. **Web2.0应用**:Flickr是一个典型的Web2.0应用,强调用户生成内容和互动分享,而Sina、Yahoo和...
对于长度为n的字符串,其不同非空子串的数量可以通过组合数学的方法计算得出。 **6. C++中,125^2的值是()。** - **知识点解析:**此题考察C++中位运算符的使用。在C++中,"^" 表示异或运算而非指数运算。异或是按...