网易2022秋季校园招聘-通用技术A卷
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网易2022秋季校园招聘-通用技术A卷相关的知识,希望对你有一定的参考价值。
源代码:https://gitee.com/shentuzhigang/algorithm/tree/master/exam-netease/exam-netease-20210821
编程题
第一题
解决方案
JAVA
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author ShenTuZhiGang
* @version 1.0.0
* @email 1600337300@qq.com
* @date 2021-08-21 15:03
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Long> list = new ArrayList<>();
while (scanner.hasNext()){
list.add(scanner.nextLong());
}
int ans =0 ;
for (int i = 0; i < list.size() -1; i++) {
for (int j = i+1; j <= list.size() -1; j++) {
if (list.get(i) + list.get(j)<list.get(list.size()-1)){
ans ++;
}
}
}
System.out.println(ans);
}
}
第二题
解决方案
JAVA
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 返回Sn的第k位字符
* @param n int整型 Sn的n
* @param k int整型 需要返回的字符下标位
* @return char字符型
*/
public char findKthBit (int n, int k) {
// write code here
int d = (int)Math.pow(2, n - 1);
if(k==d){
return (char)('a' + n -1);
}
if(d <k ) {
return (char)('a' +26 -(findKthBit(n-1,2*d -k)-'a'+1));
}else{
return findKthBit(n-1,k);
}
}
}
第三题
解决方案
JAVA
通过率70%
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/**
* @author ShenTuZhiGang
* @version 1.0.0
* @email 1600337300@qq.com
* @date 2021-08-21 15:29
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Integer> list = new ArrayList<>();
int min = Integer.MAX_VALUE;
while (scanner.hasNext()){
int x = scanner.nextInt();
min = Math.min(min,x);
list.add(x);
}
if (list.size()==0){
System.out.println(0);
return;
}
int x = 1;
int ans =1;
int d = list.indexOf(min);
for (int i = 1; i <list.size() ; i++) {
int j= (i+d)%list.size();
if(list.get(j)>list.get((j-1 + list.size())%list.size())){
x++;
}else{
x = 1;
}
ans+=x;
}
System.out.println(ans);
}
}
第四题
解决方案
JAVA
dfs
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算最小航行费用
* @param input int整型二维数组 二维网格
* @return int整型
*/
public int minSailCost (int[][] input) {
// write code here
r = input.length;
if(r==0){
return -1;
}
c =input[0].length;
if(c==0){
return -1;
}
this.input = input;
dfs(1,0,0);
dfs(0,1,0);
return min==Integer.MAX_VALUE?-1:min;
}
private int[][] input;
private int r,c;
private int min = Integer.MAX_VALUE;
public void dfs(int x,int y,int sum) {
if(sum>min||x>=r||y>=c){
return;
}
if (input[x][y]==2){
return;
}
sum=sum+2-input[x][y];
if(x==r-1&&y==c-1){
min = Math.min(min,sum);
return;
}
dfs(x+1,y,sum);
dfs(x,y+1,sum);
}
}
问答题
简述几种软件开发模型
以上是关于网易2022秋季校园招聘-通用技术A卷的主要内容,如果未能解决你的问题,请参考以下文章