给定一个由01构成的字符串,判断从中间分成两部分,计算能构成的最大数值
对于字符或字符串中的数字,转化需要-48
下面代码其实没什么用
1 /** 2 * 给定一个由01构成的字符串,判断从中间分成两部分,计算能构成的最大数值 3 * 4 * @author 康舒服冰红茶 5 * 6 */ 7 public class MaxScoreAftSplStr { 8 9 /* 10 *计算一个01字符串的转化为10进制的数值 11 */ 12 public static int valueOfBinStr(String s) { 13 int value = 0; 14 for (int i = 0, len = s.length(); i < len; i++) { 15 value += (s.charAt(i) - 48) << (len - i - 1); 16 // System.out.println(s.charAt(i)+" "+(len-i-1)); 17 // System.out.println(value); 18 } 19 return value; 20 } 21 22 /* 23 * 计算从i位后面分割时的值 24 */ 25 public static int sumStr(String s,int i) { 26 String s1=String.copyValueOf(s.toCharArray(), 0, i); 27 String s2=String.copyValueOf(s.toCharArray(), i, s.length()-i); 28 29 30 return valueOfBinStr(s1)+valueOfBinStr(s2); 31 } 32 33 public static int maxsumStr(String s) { 34 int max = sumStr(s, 1); 35 for(int i = 2;i<s.length();i++) { 36 int temp = sumStr(s, i); 37 max = max < temp?temp:max; 38 } 39 return max; 40 } 41 42 public static void main(String[] args) { 43 // System.out.println(new MaxScoreAftSplStr().valueOfBinStr("101011")); 44 String s = "011101"; 45 46 System.out.println(maxsumStr(s)); 47 } 48 }
本文来自博客园,作者:康舒服冰红茶,转载请注明原文链接:https://www.cnblogs.com/pong137/p/13634489.html
欢迎转载,但请注明「作者」和「原文地址」。转载请在文中保留此段,感谢您对作者版权的尊重。如需商业转载或刊登,请联系作者获得授权。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?