关注
UTF8这个其实不改也没有问题,可以将给出的数组看成是多个字符的编码,然后判断是否合法,一下我的代码,改之前和之后都可以AC import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String line = in.nextLine();
int N = Integer.parseInt(line);
int code[] = new int[N];
String[] split = in.nextLine().split(" ");
for(int i = 0; i < N; i++) {
code[i] = (Integer.parseInt(split[i]) & 255);
}
int index = 0;
int ret = 1;
while(index != N && ret == 1) {
if(code[index] <= 127) {
index++;
continue;
}
if(code[index] >= 192 && code[index] <= 223) {
if(!(code[index + 1] >= 128 && code[index + 1] <= 191))
ret = 0;
index += 2;
continue;
}
if(code[index] >= 224 && code[index] <= 239) {
if(!(code[index + 1] >= 128 && code[index + 1] <= 191 && code[index + 2] >= 128 && code[index + 2] <= 191))
ret = 0;
index += 3;
continue;
}
if(code[index] >= 240 && code[index] <= 247) {
if(!(code[index + 1] >= 128 && code[index + 1] <= 191 && code[index + 2] >= 128 && code[index + 2] <= 191 && code[index + 3] >= 128 && code[index + 3] <= 191))
ret = 0;
index += 4;
continue;
}
ret = 0;
}
System.out.println(ret);
}
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
19065次浏览 349人参与
# 在国企工作的人,躺平了吗? #
332634次浏览 3856人参与
# 实习吐槽大会 #
21592次浏览 99人参与
# 我的租房踩坑经历 #
13316次浏览 177人参与
# 晒一晒你的工位 #
82407次浏览 291人参与
# 夸夸我的求职搭子 #
190597次浏览 1890人参与
# 小厂实习有必要去吗 #
46126次浏览 267人参与
# 穿越回高考你还会选现在的专业吗 #
14442次浏览 195人参与
# 毕业旅行去哪玩儿 #
753次浏览 22人参与
# 携程求职进展汇总 #
527075次浏览 3906人参与
# 工作压力大怎么缓解 #
79021次浏览 934人参与
# 今年形式下双非本找得到工作吗 #
140276次浏览 1067人参与
# 实习中的菜狗时刻 #
365533次浏览 3291人参与
# 互联网公司评价 #
382758次浏览 3796人参与
# 产运销实习日记 #
51762次浏览 544人参与
# 你最满意的offer薪资是哪家公司? #
25722次浏览 134人参与
# 选完offer后,你后悔学机械吗? #
29110次浏览 162人参与
# 中兴求职进展汇总 #
602954次浏览 2641人参与
# 我的第一份实习怎么找的 #
105937次浏览 1045人参与
# 打工人锐评公司红黑榜 #
144880次浏览 899人参与