思路 就是直接是创建一个 Queue 接口的实现类,利用队列的先进先出(FIFO)特性,将数组元素按照特定规则重新排列。,使用它的实现方法::offer向队列尾部添加元元素、poll弹出队首元素并返回、isEmpty判断是否队列是空的。
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class 小R的随机播放顺序 {
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刷题的云编辑器:
接下来是真实IDE:
可以看到云编辑器的界面是比较整洁的,云编辑器和JetBrain系列ide的界面布局差不多,左边是文件/题目,中间是编辑区,右边是AI交互窗口。熟悉idea的可以很容易上手和适应云编辑器。不熟悉的也同样可以很快无障碍使用云编辑器,因为云编辑器没有像真实ide那样复杂的功能,只保留了我们在刷题中会用到的功能,ida该有的云编辑器都有。
左边对题目的管理也很简洁,可以在页面里面随意切换题目,并且具有搜索功能,可以快速找到我们需要的题目。
云编辑器左上角的方格按钮可以隐藏和显示题目列表,右下角的方格可以隐藏和唤醒模拟终端。
终端隐藏的玩法
这个终端是指AI练中学的终端!
我看到这个终端时就想到,既然是终端,那就应该可以运行那些终端该有的命令,果不其然,我们直接输入cd / 就可以发现直接可以进入模拟终端的根目录了:
随后查看是什么系统:
我们尝试新建一个文件夹,可以看见是没有权限的:
但是我们可以在练中学的代码工作区目录下,也就是/cloudide/workspace下我们有一些权限,在下面的图片我们可以看到我们是可以在里面创建一些文件夹的,然后对文件夹进行编辑
下图是在终端编辑他提供的.go文件,保存后可以同步到文件。
我觉得这个功能可以用来帮助我们学习和怎么使用Linux操作系统
免费的Debug功能
这个比起leetcode的debug功能需要会员真是太良心了
在云端ide写代码还能随时调试,不用下载和配置代码运行的环境简直不要太方便,让我们随时随地的,只要有网络有浏览器,就可以随心所欲写代码。而且我们的代码数据它是可以帮我们保存,即使我们刷新也不会丢失,AI练中学的终端数据也是一样。
媲美Copilot的MarsCode AI
我们在刷题的过程中不懂得可以直接问他,特别是对于一些记忆性的知识,比如忘记或想知道某个api使用,可以直接问他无需我们自行搜索和理解,MarsCode AI会直接简洁明了把答案告诉你。此外,还可以用自然语言描述你想要实现的功能,他会自动生成相应的代码。例如,你可以输入“创建一个函数来计算两个数的和”,它会自动生成一个求和函数。在代码审查过程中,MarsCode AI可以提供改进建议,帮助你写出更高质量的代码。
总的来说AI 刷题的优势主要体现在以下几个方面:
- 准确性:AI 能够提供准确的答案和详细的解题步骤,减少错误。
- 个性化:AI 可以根据用户的学习情况,提供个性化的题目和解答。
- 即时反馈:AI 可以即时提供反馈,帮助用户及时纠正错误。
- 多样性:MarsCode AI涵盖各种题型和知识点,虽然暂时只有500 道,但也很经典,可以提供全面的练习。