给一个正整数列 nums,一个跳数jump,及幸存数量 left。运算过程为: 从索引为0的位置开始向后跳,中间跳过小个数字,命中索引为J+1的数字, 该数被敲出,并从该点起跳,以此类推,直到幸存left个数为止。然后返回幸存数之和。
约束:
1)0是第一个起跳点
2)起跳点和命中点之间间隔jump个数字,已被敲出的数字不计入在内
3)跳到末尾时无缝从头开始 (循环查找),并可以多次循环。
4)若起始时 left>len(nums)则无需跳数处理过程。
/**
* nums: 正整数数列,长度范围[1,10000]
* jump:跳数,范围[1,10000]
* let 幸存数量,范围[0,10000]
* return:幸存数之和
*/
int sumOfLeft(int[] nums, int jump, int left)
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
[1,2,3,4,5,6,7,8,9],4,3
输出
13
说明
从1(索引为0)开始起跳,中间跳过4个数字,因此依次删除 6,2,8,5,4,7。剩余 1,3,9,返回和为13
Java版本
import java.util.ArrayList;
public class Solution {
public long sumOfLeft(int[] nums, int jump, int left) {
ArrayList<Integer> al = new ArrayList<>();
for (int num