为了账号安全,请及时绑定邮箱和手机立即绑定

给定一个字符串,找到所有数字排列(子字符串)

给定一个字符串,找到所有数字排列(子字符串)

鸿蒙传说 2023-08-09 15:47:14
给定一个数字字符串,找到构成数字且遵循顺序和边界的所有子字符串。顺序基于数字在字符串中的位置,数字的边界为 1 和 26(包含 1 和 26)。Ex 1: String S="24"Possible: [2,4], [24]Ex 2: String S="246"Possible: [2, 4, 6], [24, 6]Note: the combo [2,46] is NOT considered because 46 is out of rangeEx 3: String S="146"Possible: [1, 4, 6], [14, 6]Note: the combo [1,46] is NOT considered because 46 is out of range每个组合都是一个整数列表,结果是整数列表的列表。最有效的方法是什么?
查看完整描述

2 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

如果字符串的长度足够大,则必须使用 dp 技术来解决它。您可以仅使用一个状态 dp(例如 dp[pos])来完成此操作。对于每个位置,您有 2 个选择,要么仅采用该数字,要么在符合范围的情况下采用下一个数字。



查看完整回答
反对 回复 2023-08-09
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

您好,请尝试以下代码,


public static void main(String[] args) { 

    String str = "246"; 

      System.out.println("All substring of abbc are:");

       for (int i = 0; i < str.length(); i++) {

       for (int j = i+1; j <= str.length(); j++) {

             if((Integer.valueOf(str.substring(i,j)) <26))

                     System.out.println(str.substring(i,j));


       }

      }



查看完整回答
反对 回复 2023-08-09
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信