AI刷题工具使用以及小R的随机播放顺序题解 | 豆包MarsCode AI刷题

149 阅读4分钟

思路 就是直接是创建一个 Queue 接口的实现类,利用队列的先进先出(FIFO)特性,将数组元素按照特定规则重新排列。,使用它的实现方法::offer向队列尾部添加元元素、poll弹出队首元素并返回、isEmpty判断是否队列是空的。

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

public classR的随机播放顺序 {
    public static int[] solution(int n, int[] a) {

        //创建一个队列
        Queue<Integer> playerList=new LinkedList<>();
        for (int i = 0; i < a.length; i++) {
            playerList.add(a[i]);

        }
        int index=0;
        while(!playerList.isEmpty()){
            a[index]= playerList.poll();//移除并返回队列首部元素
            if(!playerList.isEmpty()){
                playerList.offer(playerList.poll());
            }else {
                break;
            }
            index++;
        }
        System.out.println(Arrays.toString(a));
        return a;
    }

    public static void main(String[] args) {
        System.out.println(Arrays.equals(solution(5, new int[]{5, 3, 2, 1, 4}), new int[]{5, 2, 4, 1, 3}));
        System.out.println(Arrays.equals(solution(4, new int[]{4, 1, 3, 2}), new int[]{4, 3, 1, 2}));
        System.out.println(Arrays.equals(solution(6, new int[]{1, 2, 3, 4, 5, 6}), new int[]{1, 3, 5, 2, 6, 4}));
    }
}

云端编辑器的定功能亮点

云端IDE对比真实IDE的体验

下面是豆包AI刷题的云编辑器:

image.png 接下来是真实IDE:

image.png

     可以看到云编辑器的界面是比较整洁的,云编辑器和JetBrain系列ide的界面布局差不多,左边是文件/题目,中间是编辑区,右边是AI交互窗口。熟悉idea的可以很容易上手和适应云编辑器。不熟悉的也同样可以很快无障碍使用云编辑器,因为云编辑器没有像真实ide那样复杂的功能,只保留了我们在刷题中会用到的功能,ida该有的云编辑器都有。

    左边对题目的管理也很简洁,可以在页面里面随意切换题目,并且具有搜索功能,可以快速找到我们需要的题目。

    云编辑器左上角的方格按钮可以隐藏和显示题目列表,右下角的方格可以隐藏和唤醒模拟终端。

终端隐藏的玩法

这个终端是指AI练中学的终端!

image.png

    我看到这个终端时就想到,既然是终端,那就应该可以运行那些终端该有的命令,果不其然,我们直接输入cd / 就可以发现直接可以进入模拟终端的根目录了:

image.png

随后查看是什么系统:

image.png     我们尝试新建一个文件夹,可以看见是没有权限的:

image.png

但是我们可以在练中学的代码工作区目录下,也就是/cloudide/workspace下我们有一些权限,在下面的图片我们可以看到我们是可以在里面创建一些文件夹的,然后对文件夹进行编辑

image.png

下图是在终端编辑他提供的.go文件,保存后可以同步到文件。

image.png

    我觉得这个功能可以用来帮助我们学习和怎么使用Linux操作系统

免费的Debug功能

这个比起leetcode的debug功能需要会员真是太良心了

image.png 在云端ide写代码还能随时调试,不用下载和配置代码运行的环境简直不要太方便,让我们随时随地的,只要有网络有浏览器,就可以随心所欲写代码。而且我们的代码数据它是可以帮我们保存,即使我们刷新也不会丢失,AI练中学的终端数据也是一样。

媲美Copilot的MarsCode AI

我们在刷题的过程中不懂得可以直接问他,特别是对于一些记忆性的知识,比如忘记或想知道某个api使用,可以直接问他无需我们自行搜索和理解,MarsCode AI会直接简洁明了把答案告诉你。此外,还可以用自然语言描述你想要实现的功能,他会自动生成相应的代码。例如,你可以输入“创建一个函数来计算两个数的和”,它会自动生成一个求和函数。在代码审查过程中,MarsCode AI可以提供改进建议,帮助你写出更高质量的代码。

总的来说AI 刷题的优势主要体现在以下几个方面:

  1. 准确性:AI 能够提供准确的答案和详细的解题步骤,减少错误。
  2. 个性化:AI 可以根据用户的学习情况,提供个性化的题目和解答。
  3. 即时反馈:AI 可以即时提供反馈,帮助用户及时纠正错误。
  4. 多样性:MarsCode AI涵盖各种题型和知识点,虽然暂时只有500 道,但也很经典,可以提供全面的练习。