《九日集训》第六轮 (第四讲) 指针

奔走的王木木Sir 2022-01-15 15:20:01

需要的是算法的思维,发现自己还是不太行啊,继续努力吧。

第一题: 1470. 重新排列数组

阅读题目,发现非常的简单,但是需要脑袋转一下,没有思维真的是难受啊。

class Solution {
    public int[] shuffle(int[] nums, int n) {
        int []res = new int[2 * n];
        for(int i = 0; i < n; i++){
            res[2 * i] = nums[i];
            res[2 * i + 1] = nums[i + n];
        }
        return res;
    }
}

第二题: 1929. 数组串联

class Solution {
    public int[] getConcatenation(int[] nums) {
        int len = nums.length;
        int []res = new int[2 * len];
        for(int i = 0; i < len; i++){
            res[i] = nums[i];
            res[i + len] = nums[i];
        }
        return res;
    }
}

第三题:1920. 基于排列构建数组

class Solution {
    public int[] buildArray(int[] nums) {
        int []res = new int[nums.length];
        for(int i = 0; i < nums.length; i++){
            res[i] = nums[nums[i]];
        }
        return res;
    }
}

第四题:1480. 一维数组的动态和

class Solution {
    public int[] runningSum(int[] nums) {
        int []res = new int[nums.length];
        int a = 0;
        for(int i = 0 ; i < nums.length; i++){
            res[i] = a + nums[i];
            a = res[i];
        }
        return res;
    }
}

第五题:剑指 Offer 58 - II. 左旋转字符串

class Solution {
    public String reverseLeftWords(String s, int n) {
        String res = "";
        for(int i = n; i < s.length(); i++){
            res += s.charAt(i);
        }
        for(int i = 0; i < n; i++){
            res += s.charAt(i);
        }
        return res;
    }
}

其他题型
1108. IP 地址无效化
剑指 Offer 05. 替换空格
1365. 有多少小于当前数字的数字
剑指 Offer 17. 打印从1到最大的n位数
1389. 按既定顺序创建目标数组

...全文
20 回复 1 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐
发帖
万人千题
加入

6.0w+

社区成员

学习「 算法 」的捷径就是 「 题海战略 」,社区由「 夜深人静写算法 」作者创建,三年ACM经验,校集训队队长,亚洲区域赛金牌,世界总决赛选手。社区提供系统的训练,答疑解惑,面试经验,大厂内推等机会
帖子事件
创建了帖子
2022-01-15 15:20
社区公告

QQ群:480072171

英雄算法交流 8 群