今晚的腾讯笔试第一题???

第一题的那个电话号,这么写为什么是错的?我理解有问题吗?
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for(int t = 0; t < n; t++){
            int x = sc.nextInt();
            String str = sc.next();
            if(x < 11){
                System.out.println("NO");
                continue;
            }
            int tem = 0;             //记录一下8第一次出现的位置
            for(int i = 0; i < x; i++){
                if(str.charAt(i)=='8'){
                    tem = i;
                    break;
                }
            }
            if(x-tem>=11){
                System.out.println("YES");
            }
            else {
                System.out.println("NO");
            }
        }
        sc.close();
    }
}


#腾讯##笔试题目#
全部评论
你这个如果字符串不存在8且本身长度大于11的话还是输出YES
点赞 回复
分享
发布于 2019-09-20 22:21
那个输出的说明有一个是如果为0的话是要补上的 补上之后0.9
点赞 回复
分享
发布于 2019-09-20 22:19
联想
校招火热招聘中
官网直投
首先需要满足长度大于等于11,且倒数11位到第0位之间中间至少一个8
点赞 回复
分享
发布于 2019-09-20 22:23
你这代码,如果用例里没有8,但是长度超过11,是不是也会输出YES?
点赞 回复
分享
发布于 2019-09-20 22:24
第一次30%,改来改去,代码又换回来了,40%,不知道哪里不对,这么简单题,尽然不通过,真是崩溃 num = int(input()) signal = 0 for i in range(num):     n = int(input())     str = input()     if n < 11:         print("NO")     else:         for i in range(n - 10):             if str[i] == "8":                 print("YES")                 signal = 1                 break         if signal == 0:             print("NO")
点赞 回复
分享
发布于 2019-09-20 22:32
请问各位大佬,我的这个是哪里错了,只通过了20% #include <iostream> #include <string> #include <vector> using namespace std; int main() {     int test_num;     while(cin>>test_num)     {         int a[test_num];         char phone_num[test_num][110];         for(int i = 0; i < test_num; i++)         {             cin >> a[i];             for(int j = 0; j < a[i]; j++)             {                 cin >> phone_num[i][j];             }         }         for(int j = 0; j < test_num;)         {             int len = a[j];             if(len < 11)             {                 cout << "NO" << endl;                 j++;             }             for(int k = 0; k < len; k++)             {                 if(phone_num[j][k] == '8' && (len-k) >= 11)                 {                     cout << "YES" << endl;                     j++;                     break;                 }             }         }     }     return 0; }
点赞 回复
分享
发布于 2019-09-20 22:35

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务