京东2017实习生Java.md
2017-04-07 21:52
253 查看
大意为:
警察抓小偷。X为小偷,#为行人,数字代表警察可抓取的范围。
输入实例
9
X1X#2X#XX
注意边界条件,和字符型转换位数字 。
警察抓小偷。X为小偷,#为行人,数字代表警察可抓取的范围。
输入实例
9
X1X#2X#XX
注意边界条件,和字符型转换位数字 。
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int num = sc.nextInt(); String string = sc.next(); char[] str = string.toCharArray(); int count = 0; System.out.println(Integer.valueOf(str[4])-48); for (int i = 0; i < num; i++){ if (Character.isDigit(str[i])){ int digit = Integer.valueOf(str[i])-48; //System.out.println(i+" "+digit); if ((digit >= i) &&(digit+i < num)){ //左边界超出,右边界不超 for (int j = 0; j <= digit+i; j++){ if (str[j] == 'X'){ str[j] = '#'; count++; System.out.println("执行1"); } } }else if((digit+i >= num) && (digit < i)){ //左边界不超出,右边界超出 for (int j = i-digit; j < num; j++){ if (str[j] == 'X'){ str[j] = '#'; count++; System.out.println("执行2"); } } }else if((digit < i) &&(digit+i >= num)){ //左边界不超出,右边界不超出 for (int j = i-digit; j < num; j++){ if (str[j] == 'X'){ str[j] = '#'; count++; System.out.println("执行3"); } } }else{ //左边界、右边界超出 for (int j = 0; j < num; j++){ if (str[j] == 'X'){ str[j] = '#'; count++; System.out.println("执行4"); } } } } } System.out.println(count); } } }
相关文章推荐
- 【编程】【2017京东java实习生编程题】拍卖
- 【编程】【2017京东java实习生编程题】分堆
- 2017暑假实习生java开发工程师面试(京东)
- 【编程】【2017京东java实习生编程题】异或
- 2017京东实习生招聘编程题——买糖果(python)
- 2017京东实习生招聘编程题——站队抓小偷(python)
- 通过考试(京东2017实习生真题)
- 站队(京东2017实习生真题)
- 京东2017实习生招聘在线笔试编程题题解
- 京东2017暑期实习生招聘面经(一面、二面)
- 京东2017实习生招聘编程题——终结者 python
- 2017京东实习生笔试题(三)
- 通过考试(京东2017实习生真题)
- 2017京东实习生笔试题(一)
- 2017京东实习生笔试题之异或
- 记京东Java开发实习生二面
- 京东2017实习生招聘——在线笔试编程题总结
- 阿里2017Java开发实习生内推总结(倒在电面)
- 阿里巴巴集团2017暑期实习生在线编程测试题分析-Java研发工程师
- 京东2017实习生招聘试题 单例模式、抽象工厂、Prototype都属于