今天头条笔试第五题
今天头条笔试两个长度为n的序列a,b问有多少个区间[l,r]满足max(a[l,r]<min(b[l,r]))a区间的最大值小于b区间的最小值
import java.util.Scanner;
public class Main {public static void main(String[] args) {
Scanner sc= new Scanner(System.in); int n = sc.nextInt(); int a[] = new int[n]; int b [] = new int[n]; for(int i = 0;i<n;i++){ a[i] = sc.nextInt(); } for(int i = 0;i<n;i++){ b[i] = sc.nextInt(); } int[] c = new int[n]; int[][] d = new int[n][n]; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ d[i][j] = b[i] - a[j]; if(d[i][j] > 0) d[i][j] = 1; else { d[i][j] = 0; } } } for(int i = 0; i<n; i++){ for(int j = 0; j <n; j++){ System.out.print(d[i][j] + " "); } System.out.println(); } int count = 0; int temp = 0; for(int g = 0; g < n; g++){ for(int k = g; k < n; k++){ for(int i = g; i <= k; i++){ for(int j = g; j<= k; j++){ if(d[i][j] == 0){ temp++ ; break; } } if(temp == 1){ temp++ ; break; } } if(temp == 2){ temp++ ; break; }else{ count++; } } if(temp !=0){ temp = 0; } } System.out.println(count); }
}
#字节跳动##笔试题目##题解#