文章

2

粉丝

136

获赞

1

访问

10.4k

头像
HDLC很阴 就是有个隐含条件 全1且长度>=5也会加一个1
推荐阅读
P1557 北京邮电大学机试题
发布于2022年3月28日 20:24
阅读数 6.0k

import java.util.*;

public class Main {
    /*
      给你一个01序列,HDLC协议处理的话,如果出现连续的5个1会补1个0。例如1111110,会变成11111010。
      现在给你一个经过HDLC处理后的01序列,你需要找到HDLC处理之前的01序列。
      例如给你11111010
      你需要输出1111110
      且HDLC全1且长度大于等于5时会加一个1
      来N次
    */
    //思路: 来个ArrayList 来个count 如果连续五个1且后面是个0 则删去
     public static void main(String[] args){
         Scanner sc = new Scanner(System.in);
         int N = sc.nextInt();
         //来N次
         for (int t=0; t<N; t++){
                 String s = sc.next();

                 int count = 0;
                 ArrayList<Integer> arr = new ArrayList<>();
                 //把数存在ArrayList里 并检查是否全1
                 int flag = 1;
                 for (int i = 0; i < s.length(); i++) {
                     arr.add(s.charAt(i) - '0');
                     //只要有0就对劲
                     if(arr.get(i)==0)
                         flag = 0;
                 }
                 //如果全1且超过5的长度了就不对劲
      ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发