首页 / iOS工程师
#

iOS工程师

#
349777次浏览 1755人互动
此刻你想和大家分享什么
热门 最新
头像
2017-08-12 18:26
已编辑
中国戏曲学院 算法工程师
网易2018校招内推笔试编程题参考代码及思路
练习链接: https://www.nowcoder.com/test/6291726/summary 等差数列 分析 对序列排序,然后比对一下是否等差即可。 参考code #include <bits/stdc++.h> using namespace std; int n; int x[55]; string solve() { sort(x, x + n); if(n <= 2) return "Possible"; else { int d = x[1] - x[0]; bool o...
向宇同桌:import java.util.*; import java.lang.*; public class Main { public static Integer[] chess_min(Integer[] X, Integer[] Y, Integer n) { Set<Integer> xAxis = new HashSet<Integer>(Arrays.asList(X)); Set<Integer> yAxis = new HashSet<Integer>(Arrays.asList(Y)); List<List<Integer>> centers = new ArrayList<List<Integer>>(); for (Integer x: xAxis) { for (Integer y: yAxis) { List<Integer> distances = new ArrayList<Integer>(); for (Integer i=0; i<n; i++) { distances.add(Math.abs(X[i]-x) + Math.abs(Y[i]-y)); } Collections.sort(distances); centers.add(distances); } } Integer[] min_step = new Integer[n]; Integer[] sum = new Integer[centers.size()]; for (Integer i=0; i<centers.size(); i++) { sum[i] = 0; } for (Integer i=0; i<n; i++) { for (Integer j=0; j<centers.size(); j++) { sum[j] += centers.get(j).get(i); } min_step[i] = Collections.min(Arrays.asList(sum)); } return min_step; } public static void main(String[] args) { Scanner in = new Scanner(System.in ); while(in.hasNext()) { Integer n = in.nextInt(); Integer[] X = new Integer[n]; Integer[] Y = new Integer[n]; for (Integer i=0; i<n; i++) { X[i] = in.nextInt(); } for (Integer i=0; i<n; i++) { Y[i] = in.nextInt(); } StringBuilder str = new StringBuilder(); for (Integer i: chess_min(X, Y, n)) { str.append(i+" "); } System.out.println(str.substring(0,str.length()-1)); } } } 棋子 java过的
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务