面试经典150题(93-95)

leetcode 150道题 计划花两个月时候刷完,今天(第五十三天)完成了3道(93-95)150:

93.(53. 最大子数组和)题目描述:

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
子数组 是数组中的一个连续部分。

第一版(这题我是一次写出来的,只不过我用了dp数组,没想到只用一个变量记录就行其他的都一样,那就看看我的代码吧,dp[i] 意思是数组到 i 结束 )

class Solution {public int maxSubArray(int[] nums) {int len=nums.length;if(len<=1){return nums[0];}int[] dp=new int[len];int max=nums[0];dp[0]=nums[0];for(int i=1;i<len;i++){if(dp[i-1]<0){dp[i]=nums[i];}else{dp[i]=nums[i]+dp[i-1];}max=Math.max(max,dp[i]);}return max;}
}

94.(918. 环形子数组的最大和)题目描述:

给定一个长度为 n 的环形整数数组 nums ,返回 nums 的非空 子数组 的最大可能和 。
环形数组 意味着数组的末端将会与开头相连呈环状。形式上, nums[i] 的下一个元素是 nums[(i + 1) % n] , nums[i] 的前一个元素是 nums[(i - 1 + n) % n] 。
子数组 最多只能包含固定缓冲区 nums 中的每个元素一次。形式上,对于子数组 nums[i], nums[i + 1], ..., nums[j] ,不存在 i <= k1, k2 <= j 其中 k1 % n == k2 % n 。

第一版(这个题我感觉有点难度,没想出来,看了解题)

class Solution {public int maxSubarraySumCircular(int[] nums) {int len=nums.length;if(len<=1){return nums[0];}int max=nums[0];int min=nums[0];int sum=nums[0];int preMax=nums[0];int preMin=nums[0];for(int i=1;i<len;i++){preMax=Math.max(nums[i]+preMax,nums[i]);preMin=Math.min(nums[i]+preMin,nums[i]);sum+=nums[i];max=Math.max(max,preMax);min=Math.min(min,preMin);}// 算一下有环的最大值return max>0?Math.max(max,sum-min):max;}
}

95.(35. 搜索插入位置)题目描述:

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。

第一版(这个题说实话应该很难,虽然我能偶尔写出来,但是我不知道啥时候应该给right=len 还是 right=len-1 还有while 结束条件 啥时候该有等号,啥时候不该有。。。不知道哪里有总结可以学习一下)

class Solution {public int searchInsert(int[] nums, int target) {int len=nums.length;int left=0; int right=len-1;while(left<=right){int mid=left+(right-left)/2;if(nums[mid]<target){left=mid+1;}else{right=mid-1;}}return left;}
}

连着一周没开电脑了。。首先是冷这几天降温了房子里和冰箱一样。。还有就是变懒了。。变懒是最主要的。。

加油,早日跳槽!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/651182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch常用搜索语句与SQL对比

在当今的大数据时代&#xff0c;搜索引擎成为了我们获取信息的重要工具。而ElasticSearch作为一个强大的开源搜索引擎&#xff0c;提供了丰富的搜索功能。下面&#xff0c;我们将介绍ElasticSearch中的一些常用搜索语句&#xff0c;并通过与SQL的对比来帮助大家更好地理解。 1…

代码随想录算法训练营第16天(二叉树4)| 平衡二叉树二叉树的所有路径左叶子之和

110.平衡二叉树 leetcode题目链接 题目链接/文章讲解/视频讲解 重点&#xff1a; 平衡二叉树的概念&#xff1a;所以左子树与右子树的高度差不大于1 使用后序遍历&#xff1a;手机子树的高度&#xff0c;上交给父节点&#xff0c;来计算 代码实现 class Solution { public…

Java笔记 --- 五、File

五、File 概述 将字符串变成File对象&#xff0c;再去使用里面的方法 父级路径&#xff1a;除了文件本身的路径 C:\Users\Desktop 子级路径&#xff1a;文件名 m.txt 常见的成员方法 判断、返回 length 只能获取文件的大小(字节数量) 创建、删除 delete方法默认只能删除…

行测-资料:1. 速算技巧、基期与现期

1、速算技巧 1.1 截位直除 1.1.1 截位 1.1.2 截谁 1.1.3 截几位 选项差距大&#xff1a; 四个选项首位均不同首位相同&#xff0c;第二位差大于首位 选项差距小&#xff1a; 首位相同且第二位差小于等于首位 例子 C&#xff0c;截两位。 C&#xff0c;截两位。 B&#xff0c;截…

JS中的try...catch

一、定义和结构 作用&#xff1a;捕获同步执行代码下的异常错误 在没有使用try...catch的情况下&#xff0c;同步代码执行遇到异常会报错&#xff0c;并中断后续代码执行&#xff1b; 在使用try...catch的情况下&#xff0c;同步代码执行遇到异常会抛出异常&#xff0c;并继续…

[Linux]HTTP状态响应码和示例

1xx&#xff1a;信息响应类&#xff0c;表示接收到请求并且继续处理 2xx&#xff1a;处理成功响应类&#xff0c;表示动作被成功接收、理解和接受 3xx&#xff1a;重定向响应类&#xff0c;为了完成指定的动作&#xff0c;必须接受进一步处理 4xx&#xff1a;客户端错误&#x…

基于ncurse的floppy_bird小游戏

1. 需求分析 将运动分解为鸟的垂直运动和杆的左右运动。 2. 概要设计 2.1 鸟运动部分 2.2 杆的运动 3. 代码实现 #include <stdio.h> #include <ncurses.h>#include <stdlib.h> #include <time.h>int vx 0; int vy 1;int bird_r; int bird_c;int…

奇怪问题说 - 测试篇

文章目录 1.什么是软件测试2.软件测试和开发的区别3.软件测试的发展&#xff1a;4.软件测试岗位5.软件测试在不同类型公司的定位6.一个优秀的软件测试人员具备的素质6.1综合能力6.2掌握自动化测试技术6.3优秀的测试用例设计能力6.4探索性思维6.5有责任感和一定的压力 7.软件测试…

物联网IOT: 风浆叶片拧紧装配及实时监测系统

某大型风电设备,通过机器人应用与精益化生产体系的融合,打造出行业领先的具备柔性生产能力的“脉动式”生产体系。同时在关键工序上。其中,在叶片装配等关键工序上使用由智能机器人代替人工,以提高生产的效率和装配质量可靠性,将六轴机器人、视觉系统、光电系统、液压、气动、伺…

AMEYA360--思瑞浦推出16通道高精度ADC—TPAFE51760

聚焦高性能模拟芯片和嵌入式处理器研发的半导体公司——思瑞浦推出全新16通道高精度ADC——TPAFE51760。 TPAFE51760内置高精度基准&#xff0c;工作温度支持-40C to 125C&#xff0c;产品广泛应用于电力自动化领域中的DTU、FTU、MU等装置。 TPAFE51760产品优势 业界领先的30V模…

2013年苏州大学837复试机试C/C++

2013年苏州大学复试机试 第一题 题目 假设有一堆数字&#xff08;小于100个&#xff09;需要对其做如下处理&#xff1a; 求平均数求标准差求方差 可用函数实现也可以不用 代码 #include <iostream> #include <sstream> //字符串流 #include <cmath> …

拦截器的简单使用

拦截器的简单使用 拦截器的使用创建拦截器preHandle 目标方法执行前执行postHandle 目标方法执行后执行afterCompletion 视图渲染后执行 拦截器使用场景返回值注册拦截器运用拦截器 拦截器的使用 创建拦截器 首先,我们需要创建一个拦截器器的类,并且需要继承自HandlerIntercep…

Linux服务器配置与管理(第二次实验)

实验目的及具体要求 目的 1.掌握基于命令行的文件操作 2.掌握基于命令行的目录操作 3.掌握用户账户的命令行操作 4.掌握组账户的命令行操作 5.熟悉磁盘分区操作 6.掌握调整优先级的方法 具体要求 1.掌握基于命令行的文件和目录操作 ①创建测试目录 ②创建文件 ③复…

C语言算法总结

PS&#xff1a;全文代码均为本人手写&#xff0c;如有错误&#xff0c;欢迎各位私信指正错误&#xff0c;如有疑问&#xff0c;欢迎私信询问。觉得文章有用的小伙伴多多点赞收藏关注&#xff0c;各位的支持是作者之后更新文章的最大动力&#xff01;希望我的分享能给大家带来帮…

细数语音识别中的几个former

随着Transformer在人工智能领域掀起了一轮技术革命&#xff0c;越来越多的领域开始使用基于Transformer的网络结构。目前在语音识别领域中&#xff0c;Tranformer已经取代了传统ASR建模方式。近几年关于ASR的研究工作很多都是基于Transformer的改进&#xff0c;本文将介绍其中应…

python 基础知识点(蓝桥杯python科目个人复习计划25)

今日复习内容&#xff1a;基础算法中的进制转换 1.任意进制转十进制 &#xff08;1&#xff09; 基数&#xff1a;表示奇数数字符号的个数 10进制&#xff1a;0--9&#xff0c;基数为1016进制&#xff1a;0--9&#xff0c;A--F&#xff0c;基数为16 &#xff08;2&#xff…

计算机找不到ucrtbased.dll无法运行程序,分享5种有效的解决方法

当计算机系统在运行过程中无法找到ucrtbased.dll这个特定的动态链接库文件时&#xff0c;可能会引发一系列的问题和故障现象。ucrtbased.dll是Windows操作系统中一个至关重要的组件&#xff0c;它包含了C运行时库的核心函数&#xff0c;对于许多应用程序特别是基于Microsoft Vi…

【论文+App试玩+图像到视频】2311.Animate-anyone:上传1张图片为任何人制作动画(用于角色动画的一致且可控的图像到视频合成)(暂未开源)

项目主页&#xff1a;https://humanaigc.github.io/animate-anyone/ 论文: Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation 摩尔线程复现代码&#xff1a;https://github.com/MooreThreads/Moore-AnimateAnyone 摩尔windows一…

第9章 多线程

第9章 多线程 学习目标 了解进程和线程的区别 能够理解并发与并行的区别 能够使用继承类的方式创建多线程 能够使用实现接口的方式创建多线程 能够说出实现接口方式的好处 能够解释安全问题的出现的原因 能够使用同步代码块解决线程安全问题 能够使用同步方法解决线程安全问题…

多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资料 效…