2019春季暑期实习生正式批招聘笔试【腾讯】(回忆版)第一题
生活随笔
收集整理的這篇文章主要介紹了
2019春季暑期实习生正式批招聘笔试【腾讯】(回忆版)第一题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
給個字符串,這個字符串是由1和0組成,也就是說在這個字符串中只有1和0。
現在用一種消除方法:當1和0碰到一起的時候就會消除。無論1在前面,還是0在前面
不知道有沒有玩過祖瑪
當圖中黃球消除的時候,藍球會碰到一起,也會消除。
例如當給字符串11110000,這種情況下,會全部消除干凈。
例如當給字符串100101,這種情況下,會全部消除干凈。
例如當給字符串01010,這種情況下,會留下最后的0。
輸入
第一行 一個整數 n ,表示這個字符串的長度
第二行輸入一個由1和0組成的字符串
輸出
消除后剩下的長度
樣例輸入
8
11110000
樣例輸出
0
解題代碼
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();String string = '2' + scanner.next();boolean[] b = new boolean[n + 1];int c = 0;char start = '2';int start_index = 0;for (int i = 0; i <= n; i++) {char next = string.charAt(i);if (start == '1' && next == '0' || start == '0' && next == '1') {c += 2;b[start_index] = true;b[i] = true;for (int j = i; j >= 0; j--) {if (!b[j]) {start_index = j;break;}}start = string.charAt(start_index);} else {start_index = i;start = string.charAt(start_index);}}System.out.println(n - c);} }?
結果:
?
通過全部樣例
總結
以上是生活随笔為你收集整理的2019春季暑期实习生正式批招聘笔试【腾讯】(回忆版)第一题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用yangtools将yang文件转化
- 下一篇: ubuntu16.04安装OVS(Ope