本文主要是介绍0003-如何查找01的位置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
package test;
import java.util.ArrayList;
public class Test2 {
/**
* @param args
*/
public static void main(String[] args) {
// 定义一个数组
int[] a = new int[] { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 };
// 找到左数不是0的位置
ArrayList ast = new ArrayList();
for (int i = 0; i < a.length; i++) {
int st1 = a[i];
//如果数为0,同时左边为非0,或者此位置本深为开始位置时,记录
if (st1==0 &&(i==0 || a[i-1]==1)){
//记录开始位置
ast.add(i);
}
}
// 找到右边数不是0的位置
ArrayList aed = new ArrayList();
for (int i = 0; i < a.length; i++) {
int ed1 = a[i];
//如果数为0,同时右边为非0,或者此位置本深为结束位置时,记录
if (ed1==0 &&(i==a.length-1 || a[i+1]==1)){
//记录开始位置
aed.add(i);
}
}
//打印数组
System.out.println("数组 :0, 0, 0, 0, 1, 0, 0, 0, 0, 0");
//打印出 开始位置,结束位置
String res = "";
for (int j=0;j<aed.size();j++){
res=res+" "+ "开始位置:"+ast.get(j)+" 结束位置 :"+aed.get(j);
}
}
}
这篇关于0003-如何查找01的位置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!