备战秋招day1

个人记录:

很久没打卡了,学校考试和找实习的事情太多.

这是一个新的系列,主要是做算法训练和补充技术上的学习。

系列:

对于算法则不再粘贴思路,每道题以java和python的形式实现,但不粘贴python代码,每日做的题目保证自我思考,数量不限。

增加每日内容的总结(包含八股或新知识)


算法

27. 移除元素

复制代码
Java代码:
class Solution {
    //本题意思是求出长度和结果集
    public int removeElement(int[] nums, int val) {
        int len = nums.length;
        int slow = 0;
        for(int fast = 0; fast<len;fast++){
            if(nums[fast]!=val){
                nums[slow++] = nums[fast];
            }
        }
        return slow;
    }
}

704. 二分查找

复制代码
class Solution {
    public int search(int[] nums, int target) {
        int len = nums.length;
        int left = 0,right = len-1;
        //题目已经说明有序
        while(left<=right){
            //防溢出
            int mid = left+(right-left) / 2;
            //mid小于target表示目标值可能在右边
            if(nums[mid]<target){
                left = mid + 1;
            }else if(nums[mid]>target){
                right = mid-1;
            }else{
                return mid;
            }
        }
        return -1;
    }
}

977. 有序数组的平方


977. 有序数组的平方

复制代码
class Solution {
    //双指针,关键点在于,某负数平方后可能会大于某正数平方
    public int[] sortedSquares(int[] nums) {
        int len = nums.length;
        int left = 0,right = len-1;
        int[] res = new int[len];
        int index = 0;
        for(int i = len-1;i>=0;i--){
            if(nums[left]*nums[left] <= nums[right]*nums[right]){
                res[i] =  nums[right]*nums[right];
                right--;
            }else{
                res[i] = nums[left]*nums[left];
                left++;
            }
        }
        return res; 
    }
}

209. 长度最小的子数组

复制代码
class Solution {
    //滑动窗口
    public int minSubArrayLen(int target, int[] nums) {
        int res = Integer.MAX_VALUE;
        int len = nums.length;
        int left = 0;
        int sum = 0;
        for(int right = 0;right<len;right++){
            sum += nums[right];
            while(sum >= target){
                //计算长度
                res = Math.min(res,right-left+1);
                sum -= nums[left++];
            }
        }
        return res==Integer.MAX_VALUE ? 0 : res;
    }
}

今日记录:

明天期末考,今天没有新知识的补充

相关推荐
学生小羊22 分钟前
A. C05.L08.贪心算法入门
算法·贪心算法
AndrewHZ1 小时前
【图像处理基石】图像连通域计算:原理、算法实现与应用全解析
图像处理·算法·计算机视觉·cv·算法原理·视觉算法·连通域计算
Dev7z1 小时前
基于Matlab遗传算法与蚁群算法的风光储并网微电网容量优化研究
算法·matlab·蚁群算法·多能源微电网
一直在努力的小宁1 小时前
《代码随想录-精华内容提取》07 二叉树
数据结构·算法·链表·面试
多彩电脑1 小时前
死循环逻辑检测
数据结构·python·算法·动态规划
cs麦子1 小时前
C语言--详解--冒泡排序(Bubble Sort)
c语言·算法·排序算法
2501_941111932 小时前
基于C++的区块链实现
开发语言·c++·算法
hetao17338372 小时前
2025-11-16~17 hetao1733837的刷题记录
c++·算法
_OP_CHEN2 小时前
算法基础篇:(九)贪心算法拓展之推公式:从排序规则到最优解的推导艺术
c++·算法·贪心算法·推公式·算法竞赛·acm/icpc
小艳加油2 小时前
生态学研究突破:利用R语言多元算法实现物种气候生态位动态分析与分布预测,涵盖数据清洗、模型评价到论文写作全流程
开发语言·算法·r语言