本文主要是介绍华为OD机试真题2024版-求幸存数之和,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述\n给一个正整数列 nums,一个跳数 jump,及幸存数量 left。运算过程为:从索引为 0 的位置开始向后跳,中间跳过 J 个数字,命中索引为 J+1 的数字,该数被敲出,并从该点起跳,以此类推,直到幸存 left 个数为止。然后返回幸存数之和。\n约束:
1、0 是第一个起跳点。
2、起跳点和命中点之间间隔 jump 个数字,已被敲出的数字不计入在内。
3、跳到末尾时无缝从头开始(循环查找),并可以多次循环。
4、若起始时 left>len(nums) 则无需跳数处理过程。
/**
* nums: 正整数数列,长度范围 [1,10000]
* jump: 跳数,范围 [1,10000]
* left: 幸存数量,范围 [0,10000]
* return: 幸存数之和
*/
int sumOfLeft(int[] nums,int jump,int left)
输入
[1,2,3,4,5,6,7,8,9],4,3
输出
13
说明\n从 1(索引为 0)开始起跳,中间跳过 4 个数字,因此依次删除 6,2,8,5,4,7 。 剩余 1,3,9,返回和为 13\n\nOD 统一题解
import java.util.ArrayList;
import java.util.List;public class Main {public static int solve(List<Integer> nums, int jump, int left)
这篇关于华为OD机试真题2024版-求幸存数之和的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!