滄州做網(wǎng)站的公司營銷方案包括哪些內(nèi)容
目錄
- 專欄導(dǎo)讀
- 一、題目描述
- 二、輸入描述
- 三、輸出描述
- 四、Java算法源碼
- 五、效果展示
- 1、輸入
- 2、輸出
- 3、說明
華為OD機試 2023B卷題庫瘋狂收錄中,刷題點這里
專欄導(dǎo)讀
本專欄收錄于《華為OD機試(JAVA)真題(A卷+B卷)》。
刷的越多,抽中的概率越大,每一題都有詳細的答題思路、詳細的代碼注釋、樣例測試,發(fā)現(xiàn)新題目,隨時更新,全天CSDN在線答疑。
一、題目描述
輸入N個互不相同的二維整數(shù)坐標(biāo),求這N個坐標(biāo)可以構(gòu)成的正方形數(shù)量。[內(nèi)積為零的的兩個向量垂直]。
二、輸入描述
第一行輸入為N,N代表坐標(biāo)數(shù)量,N為正整數(shù)。
之后的N行輸入為坐標(biāo)x y,以空格分隔。
x,y為整數(shù),-10<=x,y<=10
三、輸出描述
輸出可以構(gòu)成的正方形數(shù)量。
四、Java算法源碼
package com.guor.od;import java.util.*;public class OdTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 坐標(biāo)數(shù)量int N = sc.nextInt();// 3個坐標(biāo)構(gòu)不成正方形if (N <= 3) {System.out.println(0);return;}// 存儲坐標(biāo)x y的集合List<int[]> list = new ArrayList<>();for (int i = 0; i < N; i++) {// 坐標(biāo)x yint[] arr = new int[2];arr[0] = sc.nextInt();arr[1] = sc.nextInt();list.add(arr);}int count = 0;Map<Integer, Integer> map = new HashMap<>();for (int i = 0; i < list.size() - 1; i++) {for (int j = i + 1; j < list.size(); j++) {int dist = getLength(list.get(i), list.get(j));map.put(dist, map.getOrDefault(dist, 0) + 1);}}for (int v : map.values()) {count += v * (v - 1) * (v - 2) * (v - 3) / 24;}System.out.println(count);}public static int getLength(int[] a, int[] b) {int x = a[0] - b[0];int y = a[1] - b[1];return x * x + y * y;}
}
五、效果展示
1、輸入
4
0 0
1 2
3 1
2 -1
2、輸出
1
3、說明
🏆下一篇:華為OD機試 - 荒島求生 - 棧Stack(Java 2023 B卷 100分)
🏆本文收錄于,華為OD機試(JAVA)真題(A卷+B卷)
刷的越多,抽中的概率越大,每一題都有詳細的答題思路、詳細的代碼注釋、樣例測試,發(fā)現(xiàn)新題目,隨時更新,全天CSDN在線答疑。