【leetcode】第一章数组-2
977. 有序数组的平方
- 简单的方法是平方后使用排序方法
- 第2种方法是双指针方法,从两边进行判断,将最大的从后往前放
public static int[] sortedSquares(int[] nums) {// 输入:nums = [-4,-1,0,3,10]// 输出:[0,1,9,16,100]// 解释:平方后,数组变为 [16,1,0,9,100]// 排序后,数组变为 [0,1,9,16,100]// 从前往后来决定元素在哪个位置是不现实的// 因此从后往前判断,比较right 和 left的平方// 谁大就放在最后一个位置,然后移动那个比较大的元素的指针int left = 0;int right = nums.length - 1;// 存储结果数组,i为下标int i = nums.length-1;int[] sortNum = new int[nums.length];// 边界判断 可举例:一个元素的情况while (left <= right) {int leftValue = nums[left]*nums[left];int rightValue = nums[right]*nums[right];// 若右边元素大,则放置右边元素值,right指针左移if (leftValue < rightValue) {sortNum[i--] = rightValue;right--;}else {sortNum[i--] = leftValue;left++;}}return sortNum;
}
209.长度最小的子数组
- 滑动窗口方法:当大于等于给定值时,便收缩窗口,不断更新最小长度
public int minSubArrayLen(int target, int[] nums) {int left = 0;int right = 0;int sum = 0;int minLen = nums.length + 1;while (right < nums.length) {sum += nums[right];// 当一旦大于给定值,便缩小窗口,看左边界收缩后是否最小长度会发生变化while (sum >= target) {minLen = Math.min(minLen, right - left+1);sum -= nums[left++];}right++;}// 若不存在最小窗口(数组和 < target)或数组长度为0,则minLen应该赋为0return minLen == nums.length + 1 ? 0 : minLen;}
59. 螺旋矩阵 II
- 按照顺时针走路,注意边界的选取
- 一开始的起点和终点需要选取好,在这,我选择前闭后闭方法
public int[][] generateMatrix(int n) {int[][] res = new int[n][n];int num = 1;int matrixNum = n * n;int left = 0;int right = n-1;int top = 0;int bottom = n-1;while (num <= matrixNum) {for (int i = left; i <= right; i++) {res[top][i] = num++;}top++;for (int i = top; i <= bottom; i++) {res[i][right] = num++;}right--;for (int i = right; i >= left; i--) {res[bottom][i] = num++;}bottom--;for (int i = bottom; i >= top; i--) {res[i][left] = num++;}left++;}return res;}相关文章:
【leetcode】第一章数组-2
977. 有序数组的平方 简单的方法是平方后使用排序方法第2种方法是双指针方法,从两边进行判断,将最大的从后往前放 public static int[] sortedSquares(int[] nums) {// 输入:nums [-4,-1,0,3,10]// 输出:[0,1,9,16,100]// 解释…...
程序使用Microsoft.XMLHTTP对象请求https时出错解决
程序中使用Microsoft.XMLHTTP组件请求https时出现如下错误: 出错程序代码示例: strUrl "https://www.xxx.com/xxx.asp?id11" dim objXmlHttp set objXmlHttp Server.CreateObject("Microsoft.XMLHTTP") objXmlHttp.open "…...
Linux安装配置nginx+php搭建
Linux安装配置nginxphp搭建 文章目录 Linux安装配置nginxphp搭建1.nginx源码包编译环境和安装相应的依赖1.1 安装编译环境1.2 安装pcre库、zlib库和openssl库 2.安装nginx2.1 在[nginx官网](https://nginx.org/en/download.html)上获取源码包并进行下载2.2 进行解压编译 3.启动…...
springboot的各种配置
1.AOP配置 <!-- AOP的依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>package com.qf.HomeWork.aop;import lombok.extern.slf4j.Slf4j; im…...
OSI七层模型及TCP/IP四层模型
目录 OSI七层模型 TCP/IP四层模型 OIS七层模型和TCP/IP模型图 七层详解 两种模型比较 为什么OSI七层体系结构不常用 四层详解 网络为什么要分层? 说说 OSI 七层模型和 TCP/IP 四层模型的关系和区别 OSI七层模型 OSI(Open System Interconnect&a…...
MDN-Web APIs
参考资料 文章目录 简介DOM APIXMLHttpRequestWeb Storage APIWebsockets API 简介 Web APIs(Application Programming Interfaces)是用于与浏览器环境中的 Web 功能进行交互的一组接口和方法集合。通过 Web APIs,开发人员可以访问浏览器提…...
2023国赛数学建模C题思路分析
文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…...
暑假集训笔记
刷题刷的好累啊...不想刷题了...然后就来写题解了... 昨天晚上打了场div2..2000来名,加了155分....现在rating1281...我是菜鸡..暑假之前就打到了1200分以上了,结果暑假一掉再掉,直接掉到1100了...然后我就一直压力很大....... 昨天在机房打…...
【枚举+推式子】牛客小白月赛 63 E
登录—专业IT笔试面试备考平台_牛客网 题意: 思路: 首先是个计数问题,考虑组合数学 组合数学就是在考虑枚举所有包含1和n的区间 这个典中典就是枚举1和n的位置然后算贡献 双指针超时,考虑推式子: Code:…...
Android多屏幕支持-Android12
Android多屏幕支持-Android12 1、概览及相关文章2、屏幕窗口配置2.1 配置xml文件2.2 DisplayInfo#uniqueId 屏幕标识2.3 adb查看信息 3、配置文件解析3.1 xml字段读取3.2 简要时序图 4、每屏幕焦点 android12-release 1、概览及相关文章 AOSP > 文档 > 心主题 > 多屏…...
python环境下载安装教程,python运行环境怎么下载
本篇文章给大家谈谈python安装步骤以及环境变量配置,以及下载python需要设置环境变量吗,希望对各位有所帮助,不要忘了收藏本站喔。 1.https://www.python.org/downloads/windows/ 下载适合自己电脑的python安装包 2.下载后安装即可 3.配置环…...
【0.2】lubancat鲁班猫4远程ubuntu22.04.2 无需任何安装
环境 lubancat4鲁班猫4 (4G0)不带emmc 系统镜像ubuntu-22.04.2-desktop-arm64-lubancat-4.img 网络环境:有线网络与本win10电脑同意环境 操作步骤ubuntu正常开机登陆用户,连接好网络进入设置>网络查看设备当前局域网IP 如192.168.199.159进入设置>共享>远程…...
Flutter 状态管理 Provider
状态管理必要性 Flutter基于声明式构建UI,原生则是命令式,状态管理是用于解决声明式开发带来的问题。 例:命令式的原生,数据更新需要拿到对应控件并更改其显示值;而声明式则需要更改数据值并通过setstate更新状态&am…...
【设计模式】观察者模式
什么是观察者模式? 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态…...
ORCA优化器浅析——CDXLOperator Base class for operators in a DXL tree
如上图所示,CDXLOperator作为Base class for operators in a DXL tree,其子类CDXLLogical、CDXLScalar、CDXLPhysical作为逻辑节点、物理节点和Scalar节点的DXL表示类,因此其包含了这些类的共同部分特性,比如获取其DXL节点表示的函…...
go入门实践四-go实现一个简单的tcp-socks5代理服务
文章目录 前言socks协议简介go实现一个简单的socks5代理运行与压测抓包验证 前言 SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。协议在应用层和传输层之间。 本文使用先了解socks协议。然后实现一个socks5的tcp代理服务端。最后&#…...
div 中元素居中的N种常用方法
本文主要记录几种常用的div盒子水平垂直都居中的方法。本文主要参考了该篇博文并实践加以记录说明以加深理解记忆 css之div盒子居中常用方法大全 本文例子使用的 html body结构下的div 盒子模型如下: <body><div class"container"><div c…...
Java获取指定文件夹下目录下所有视频并复制到另一个地方
import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.StandardCopyOption;public class VideoCopier {public static void main(String[] args) {// 指定源文件夹路径和目标文件夹路径String sourceFolderPath "path/to…...
windows server 2016 搭建使用 svn 服务器教程
参考教程: https://zhuanlan.zhihu.com/p/428552058 https://blog.csdn.net/weixin_33897722/article/details/85602029 配置环境 windows server 2016 远程服务器公网 ip 安装 SVN 服务端 下载 svn 服务端安装包:https://www.visualsvn.com/download…...
【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
判断时间序列数据是否为平稳时间序列或非平稳时间序列,通常可以通过以下方法: (1)观察时间序列数据的均值和方差是否随时间变化而发生明显的改变。若均值和方差变化明显,则该时间序列数据可能为非平稳时间序列&#x…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
