100148. 最小数字游戏 --力扣 -- JAVA

简介: 你有一个下标从 0 开始、长度为 偶数 的整数数组 nums ,同时还有一个空数组 arr 。Alice 和 Bob 决定玩一个游戏,游戏中每一轮 Alice 和 Bob 都会各自执行一次操作。游戏规则如下:每一轮,Alice 先从 nums 中移除一个 最小 元素,然后 Bob 执行同样的操作。接着,Bob 会将移除的元素添加到数组 arr 中,然后 Alice 也执行同样的操作。游戏持续进行,直到 nums 变为空。返回结果数组 arr 。

 题目

你有一个下标从 0 开始、长度为 偶数 的整数数组 nums ,同时还有一个空数组 arr 。Alice 和 Bob 决定玩一个游戏,游戏中每一轮 Alice 和 Bob 都会各自执行一次操作。游戏规则如下:

    • 每一轮,Alice 先从 nums 中移除一个 最小 元素,然后 Bob 执行同样的操作。
    • 接着,Bob 会将移除的元素添加到数组 arr 中,然后 Alice 也执行同样的操作。
    • 游戏持续进行,直到 nums 变为空。

    返回结果数组 arr

    解题思路

      1. 对数组进行从小到大的排序;
      2. 每两个元素交换位置;
      3. 返回数组。

      代码展示

      class Solution {
          public int[] numberGame(int[] nums) {
              Arrays.sort(nums);
              int n = nums.length;
              for (int i = 0; i < n; i += 2){
                  int temp = nums[i];
                  nums[i] = nums[i + 1];
                  nums[i + 1] = temp;
              }
              return nums;
          }
      }

      image.gif


      目录
      相关文章
      |
      1月前
      |
      算法
      Leetcode第45题(跳跃游戏II)
      这篇博客文章讨论了如何使用贪心算法解决LeetCode第45题“跳跃游戏II”,目的是找到使用最少跳跃次数到达数组末尾的策略。
      75 8
      Leetcode第45题(跳跃游戏II)
      |
      3月前
      |
      算法
      LeetCode第55题跳跃游戏
      LeetCode第55题"跳跃游戏"的解题方法,通过记录当前最远可达到的位置并判断每个位置是否可达以及能否到达末尾,有效解决了跳跃至数组末尾的可行性问题。
      LeetCode第55题跳跃游戏
      |
      4月前
      |
      Java 索引
      Java实现扑克牌游戏 | 随机发牌 ( 过程拆分详解+完整代码 )
      Java实现扑克牌游戏 | 随机发牌 ( 过程拆分详解+完整代码 )
      |
      1月前
      |
      开发框架 IDE Java
      java制作游戏,如何使用libgdx,入门级别教学
      本文是一篇入门级教程,介绍了如何使用libgdx游戏开发框架创建一个简单的游戏项目,包括访问libgdx官网、设置项目、下载项目生成工具,并在IDE中运行生成的项目。
      48 1
      java制作游戏,如何使用libgdx,入门级别教学
      |
      1月前
      Leetcode第55题(跳跃游戏)
      LeetCode第55题“跳跃游戏”要求判断在一个非负整数数组中,从第一个位置出发,是否能够到达最后一个位置,其中每个位置的元素代表可跳跃的最大长度。
      27 0
      |
      1月前
      |
      算法 Java
      LeetCode(一)Java
      LeetCode(一)Java
      |
      3月前
      |
      算法 Java
      LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
      LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
      51 6
      |
      3月前
      |
      存储 算法 Java
      LeetCode经典算法题:打家劫舍java详解
      LeetCode经典算法题:打家劫舍java详解
      70 2
      |
      3月前
      |
      人工智能 算法 Java
      LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
      LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
      50 1
      |
      3月前
      |
      存储 算法 Java
      LeetCode经典算法题:预测赢家+香槟塔java解法
      LeetCode经典算法题:预测赢家+香槟塔java解法
      60 1