MP3光标位置 _小易的升级之路

MP3光标位置

MP3光标位置

image-20220504095049014

情况比较多,但是题不难,不要胆怯!!!

import java.util.*;

public class Main {
    public static void MP3PlayerLow4(String str, int n) {
            char[] ch = str.toCharArray();
            int begin = 1, cur = 1; // 起始序号,当前歌曲序号
            for (int i = 0; i < ch.length; i++) {
                if (cur == 1 && ch[i] == 'U') { // 光标在第一首歌曲上时,按Up键光标
                    cur = n;
                    continue;
                }
                if (cur == n && ch[i] == 'D') { // 光标在最后一首歌曲时,按Down键光标
                    cur = 1;
                    continue;
                }
                if (ch[i] == 'U') {
                    cur -= 1;
                }
                if (ch[i] == 'D') {
                    cur += 1;
                }
            }
            for (int i = 0; i < n; i++) {
                if (i==0) {
                    System.out.print(begin);
                }else{
                    System.out.print(" "+(begin+i));
                }
            }
            System.out.println();
            System.out.println(cur);
    }

    public static void MP3PlayerUp4(String str, int n) {
        char[] ch = str.toCharArray();
        int begin = 1, cur = 1; // 起始序号,当前歌曲序号
        for (int i = 0; i < ch.length; i++) {
            if (begin==1 && cur == 1 && ch[i] == 'U') { // 光标在第一页 ,第一首歌曲上时,按Up键光标
                cur = n;
                begin = n-3;
                continue;
            }
            if (begin==n-3 && cur == n && ch[i] == 'D') { // 光标在最后一页,最后一首歌曲时,按Down键光标
                cur   = 1;
                begin = 1;
                continue;
            }
            if (ch[i] == 'U' && begin==cur ) {     // 光标在非第一页,第一首歌曲时,按Up键后,从当前歌曲的上一首开始显示,光标也挪到上一首歌曲。
                cur  -= 1;
                begin-= 1;
                continue;
            }
            if (ch[i] == 'D' && begin+3==cur) {
                cur  += 1;
                begin+= 1;
                continue;
            }
            if(ch[i] == 'U'){ 
                cur -= 1;
            }else{
                cur += 1;
            }
        }
        System.out.println(begin + " " + (begin + 1) + " " + (begin + 2)+ " " + (begin + 3));
        System.out.println(cur);
    }

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while (input.hasNextInt()) {
            int n = input.nextInt(); // 歌曲数量
            String str = input.next(); // 操作序列
            if (n<=4) 
                MP3PlayerLow4(str, n);
            else
                MP3PlayerUp4(str, n);
        }
    }
}

小易的升级之路

小易的升级之路

image-20220504153947653

image-20220504153921419

import java.util.*;
public class Main{
    public static int gcd(int a,int b){
        int tmp = 0;
        while(a!=0){
            tmp = b%a;
            b = a;
            a = tmp;
        }
        return b;
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
            int a = sc.nextInt();
            int[] array = new int[n];
            int result = 0;
            for(int i = 0;i<n;i++){
                array[i] = sc.nextInt();
            }
            for(int i = 0;i<n;i++){
                if(a>=array[i]){
                    a += array[i];
                }else{
                    a += gcd(a,array[i]);
                }
            }
            System.out.println(a);
        }
    }
}
全部评论
楼主还是厉害,学到了
点赞 回复 分享
发布于 2022-08-28 06:55 陕西

相关推荐

董春花_:真诚无罪,别听评论区那个清华的。按他的逻辑,你有分寸人觉得你是不想来,你积极热情人觉得你太想来,你好骗人就可你养鱼,你不好骗人觉得你服从性不高,合着**做啥都白扯。保持谦逊礼貌与对offer的积极性不才是最正常,也正确的做法么?招聘方的错强加到应聘者身上,***何不食肉糜。
点赞 评论 收藏
分享
白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务