2022.8.31广联达笔试

第一题:ac 72% 异常速率
nums[[5,4,3,2,1]
s= [1,5,3,4,2]

//只有一个数子
if(nums.length == 1){
    return 0;

}
//添加s数组中,对于nums[i]元素对于位置的前面的数字,如果没在set中表明异常情况,result++,并将前面的所有添加到set中
Set<Integer> set = new HashSet<>();
int result = 0;
for(int i = 0; i < nums.length; i++){
    set.add(nums[i]);
    for(int j = 0; j < s.lengthl j++){
        if(nums[i] != s[j]){
            if(!set.contians(s[j])){
                result++;
                set.add(s[j]);
            }else{
                break;
            }
        }
    }
}
return result;


#广联达##笔试#
全部评论
单调栈
点赞 回复 分享
发布于 2022-08-31 22:58 山东
第二题嘞
点赞 回复 分享
发布于 2022-08-31 23:16 广东
双指针做的,100% public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         int n = scanner.nextInt();         int[] start = new int[n];         int[] end = new int[n];         for (int i = 0; i < n; i++) {             start[i] = scanner.nextInt();         }         for (int i = 0; i < n; i++) {             end[i] = scanner.nextInt();         }         int count = 0;         boolean[] flag = new boolean[n+1];         for (int i = 0,j = 0; i < n && j < n;) {             if (!flag[start[i]]){                 if (start[i] == end[j]){                     i++;                 }                 else {                     count++;                 }                 flag[end[j]] = true;                 j++;             }             else {                 i++;             }         }         System.out.println(count);     }
点赞 回复 分享
发布于 2022-08-31 23:42 天津
第二题
点赞 回复 分享
发布于 2022-08-31 23:44 广东
最长公共子序列不可以做吗?求出最长公共子序列后再用总数减去最长公共子序列
点赞 回复 分享
发布于 2022-09-01 10:00 广东

相关推荐

01-29 16:08
已编辑
华南农业大学 Java
点赞 评论 收藏
分享
评论
1
10
分享

创作者周榜

更多
牛客网
牛客企业服务