简易遍历 寻找0/1串中 连续10个1首次出现位置(递归)

本文探讨了一个Java程序的执行流程,通过递归逻辑实现特定功能,详细解析了程序中字符串处理、条件判断和递归调用的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//A1.java

public class A1 {

    
private final static int N = 10;

    
public static void main(String[] args) {
        String str 
= "0010000110111101011010101000101001110111000110010001111010111100011000011111111110100100001111110001101011010001000101011100011100111000110010010111100101101011100010110100111010000001000101110101111000001111100110101010010101011011010110011010101000111011001001110111000011001110111001100010001001010100111001111111110100000110001100010101101000011111011000011111111101100000010000000111111000000101111011110101101110101101100100001011110110010110111001110110001011110000111100000000010011101100101010101100101110000011100100010000101100101001001001000101001100010100011000110001011010101010000101000111000101011100111011101101110010100110001011011100110001110010010010101101111001101101100100100011001110111111110100001001001110101101100111101101000110000101000111000001011111010000110000011110001111100100010011100001010111011110011011101010101011011101100011110001101011110100011100011100110111110010101110011101000000011100111000111001001101000011100011001110100110110100111100111011000000011000";
        System.out.println(
"index:" + exec(str, 00));
    }

    
public static int exec(String str, int i, int count) {
        
if (count == N) {
            System.out.println(
"i:" + i);
            
return i - 10;
        }
        
if (i == str.length()) {
            
return -1;
        }
        
if (str.charAt(i) == '0') {
            
return exec(str, i + 10);
        } 
else {
            
return exec(str, i + 1, count + 1);
        }
    }
}

转载于:https://www.cnblogs.com/huidaoli/p/3202670.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值