本文主要是介绍备战秋招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;}
}
今日记录:
明天期末考,今天没有新知识的补充
这篇关于备战秋招day1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!