【代码随想录】算法训练计划02
1、977. 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
输入:nums = [-4,-1,0,3,10]
输出:[0,1,9,16,100]
思路:
这题思路在于——双指针思想
- 简单说就是双指针,左右指针指最外边,谁大放最后边
- 注意条件:i<=j,因为这个元素也要算,加入新数组
// 代码一刷----双指针
func sortedSquares(nums []int) []int {res := make([]int, len(nums))k := len(nums)-1for i,j := 0, len(nums)-1; i<=j; {if nums[i]*nums[i] > nums[j]*nums[j] {res[k] = nums[i]*nums[i]i++k--} else {res[k] = nums[j]*nums[j]j--k--}}return res
}
2、209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
输入:target = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的子数组。
思路:
- 滑动窗口,但本质还是双指针法
- j 代表的是终止位置,一旦 sum>=target 就记录最小长度,并把起始位置前移一位
// 代码一刷——双指针——滑动窗口思想
func minSubArrayLen(target int, nums []int) int {res,sum := 10000000, 0for i,j := 0,0; j<len(nums); j++ {sum += nums[j]for sum >= target {res = min(res, j-i+1)sum -= nums[i]i++}}if res == 10000000 {return 0}return res
}
func min(a,b int) int { if a>b {return b}; return a }
3、59. 螺旋矩阵 II
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]
思路:
- 这题就是模拟,判断边界条件
- 注意左闭右开法则,保持统一性即可
- 循环次数就是 n/2,如果 n 是奇数就要 center 一下
- 这次写,忘了 i, j := startx, starty 放在循环里边
- 除了 res 外,初始化五个变量,startx,y,offset,count,center
// 代码一刷,循环不变狼——左闭右开规则
func generateMatrix(n int) [][]int {res := make([][]int, n)for i:=0; i<n; i++ {res[i] = make([]int, n)}startx,starty := 0,0offset, count := 1,1center := n/2// 开始算法for k:=0; k<n/2; k++ {i, j := startx, startyfor ;j<n-offset; j++ {res[startx][j] = countcount++}for ;i<n-offset; i++ {res[i][j] = countcount++}for ; j>startx ; j-- {res[i][j] = countcount++}for ; i>starty ; i-- {res[i][j] = countcount++}offset++startx++starty++}if n%2 != 0 {res[center][center] = count}return res
}
相关文章:
【代码随想录】算法训练计划02
1、977. 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 输入:nums [-4,-1,0,3,10] 输出:[0,1,9,16,100] 思路: 这题思路在于——双指针…...
hive针对带有特殊字符非法json数据解析
一、背景 有的时候前端或者后端进行埋点日志,会把json里面的数据再加上双引号,或者特殊字符,在落日志的时候,组装的格式就不是正常的json数据了,我们就需要将带有特殊字符的json数据解析成正常的json数据。 二、正则…...
【C++进阶之路】第三篇:二叉搜索树 kv模型
文章目录 一、二叉搜索树1.二叉搜索树概念2.二叉搜索树操作3.二叉搜索树的实现 二、二叉搜索树的应用1.kv模型2.kv模型的实现 三、 二叉搜索树的性能分析 一、二叉搜索树 1.二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性…...
【Oracle】Navicat Premium 连接 Oracle的两种方式
Navicat Premium 使用版本说明 Navicat Premium 版本 11.2.16 (64-bit) 一、配置OCI 1.1 配置OCI环境变量 1.1.2 设置\高级系统设置 1.1.2 系统属性\高级\环境变量(N) 1.1.3 修改/添加系统变量 ORACLE_HOME ORACLE_HOME D:\app\root\product\12.1.0\dbhome_11.1.4 添加系…...
在python里如何实现switch函数的功能
在许多编程语言中,包括Python,都提供了switch语句或类似的功能来根据不同的条件执行不同的代码块。然而,Python本身并没有内置的switch语句,但是您可以使用其他方式来实现类似的功能。下面是一种常见的方法: 使用if-e…...
Python 继承和子类示例:从 Person 到 Student 的演示
继承允许我们定义一个类,该类继承另一个类的所有方法和属性。父类是被继承的类,也叫做基类。子类是从另一个类继承的类,也叫做派生类。 创建一个父类 任何类都可以成为父类,因此语法与创建任何其他类相同: 示例&…...
DevOps持续集成-Jenkins(3)
文章目录 DevOpsDevOps概述Jenkins实战3:实战1和实战2的加强版(新增SonarQube和Harbor)⭐环境准备⭐项目架构图对比Jenkins实战1和实战2,新增内容有哪些?SonarQube教程采用Docker安装SonarQube (在Jenkins所…...
TypeScript之索引签名
1. 索引签名 在 TypeScript 中,索引签名是一种定义对象类型的方式,它允许我们使用字符串或数字作为索引来访问对象的属性。 索引签名最主要的作用就是允许我们动态地添加或访问对象的属性,通过使用索引签名,我们可以在编译时无法…...
k8s-----24、亲和力Affinity
1、应用场景 pod和节点间的关系: 某些Pod优先选择有ssdtrue标签的节点,如果没有在考虑部署到其它节点;某些Pod需要部署在ssdtrue和typephysical的节点上,但是优先部署在ssdtrue的节点上; pod和pod间的关系: 同一个应用的Pod不…...
860. 柠檬水找零
在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,…...
Flink将数据写入MySQL(JDBC)
一、写在前面 在实际的生产环境中,我们经常会把Flink处理的数据写入MySQL、Doris等数据库中,下面以MySQL为例,使用JDBC的方式将Flink的数据实时数据写入MySQL。 二、代码示例 2.1 版本说明 <flink.version>1.14.6</flink.version…...
react-typescript-demo
1.使用 Context 来存储数据...
Alexon:在云原生环境中快速部署应用服务
Alexon是一个旨在快速部署WEB应用服务到分布式系统中的工具,适用于云原生环境。 Alexon由SymeCloud Limited(syme.dev) 发布,使用GNU Guile编写而成,支持函数编程概念。 SymeCloud 公司主要致力于 AI-Infra 方面的研发,从 OpenAI …...
5G技术在职业教育领域的应用:产生巨变的技术
5G技术在职业教育领域的应用:产生巨变的技术 职业教育领域正面临着前所未有的挑战和机遇。随着5G技术的快速发展和普及,其高速度、低延迟、大容量和连接数的特性给职业教育带来了革命性的改变。本文将深入探讨5G技术在职业教育领域的应用场景、技术原理和…...
【触想智能】工控一体机与5G物联网技术结合是未来发展趋势
工控一体机也叫工业电脑一体机,是工业应用非常重要的一种产品。目前,工控一体机在工业领域的应用已经非常普及,在繁忙的生产车间、数字化机床、自助服务终端设备等场景中,我们都有看到它的身影。 工控一体机应用的普及已经潜移默化…...
LuatOS-SOC接口文档(air780E)--lvgl - LVGL图像库
lvgl.draw_mask_radius_param_t() 创建一个lv_draw_mask_radius_param_t 参数 无 返回值 返回值类型 解释 userdata lv_draw_mask_radius_param_t指针 例子 local radius lvgl.draw_mask_radius_param_t()lvgl.draw_mask_radius_param_t_free(radius) 释放一个lv_d…...
LuatOS-SOC接口文档(air780E)--lora2 - lora2驱动模块(支持多挂)
常量 常量 类型 解释 lora2.SLEEP number SLEEP模式 lora2.STANDBY number STANDBY模式 lora2.init(ic, loraconfig,spiconfig) lora初始化 参数 传入值类型 解释 string lora 型号,当前支持: llcc68 sx1268 table lora配置参数,与具体…...
WKWebView iOS17设置UserAgent
WKWebView 设置 user-agent 参考文档 之前设置 user-agent 都是通过设置NSUserDefaults来实现的,不过升级到了iOS17之后这个方式不好用了。 老的设置方式: [[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];目前看通过设置 we…...
持续集成部署-k8s-服务发现-Service
持续集成部署-k8s-服务发现-Service:配置讲解及基础命令 1. Service 简介2. 基础命令3. 基于 Service 访问外部服务4. 代理外部域名5. Endpoints 常用类型1. Service 简介 在K8s中,Service 是一种可以暴露一个或多个Pod的稳定的网络终点,从而形成逻辑上的应用服务单元,为服…...
RocksDB基本架构与原理详解
Rocksdb Flink提供基于流的有状态计算,除了提供实时数据流的处理能力,还需要将计算产生的状态存储起来。 为了满足状态存取需求,提供了memory、flie system、rocksdb三种类型的状态存储机制。 memory存取高效单空间有限,且可用…...
ZYNQMP平台下arm64架构的82599ES万兆网驱动移植实战指南
1. 环境准备与驱动源码获取 在ZYNQMP平台上折腾万兆网卡驱动移植,第一步得把开发环境搭好。我用的是一台Ubuntu 20.04的主机作为开发机,交叉编译工具链用的是Xilinx官方提供的Vitis工具链。这里有个坑要注意:必须确认你的工具链版本和ZYNQMP内…...
PINN实战:如何用PyTorch自定义神经网络结构求解偏微分方程?
PINN实战:PyTorch自定义神经网络架构设计指南 在科学计算领域,物理信息神经网络(PINN)正逐渐成为求解偏微分方程(PDE)的新范式。与传统的数值方法不同,PINN将物理方程直接编码到神经网络中,通过自动微分技术实现端到端的求解。本文…...
25kW高压直流电源模块DCDC控制软件分析
系统概述 本文分析的代码是一个用于25kW高压直流电源模块的DCDC控制软件系统,基于TI DSP2803x平台开发。该系统采用三相Vienna PFC和串联全桥LLC拓扑结构,实现高效的大功率直流转换功能。 系统架构与核心功能 1. 系统控制架构 该DCDC控制系统采用分层设计…...
从手动15秒到自动0.8秒:米哈游游戏扫码登录的智能革命
从手动15秒到自动0.8秒:米哈游游戏扫码登录的智能革命 【免费下载链接】MHY_Scanner MHY扫码登录器,支持从直播流抢码。 项目地址: https://gitcode.com/gh_mirrors/mh/MHY_Scanner 在直播抢码、多账号切换的激烈竞争中,你是否还在为手…...
Swagger Client 性能优化:10个技巧让你的 API 调用快如闪电
Swagger Client 性能优化:10个技巧让你的 API 调用快如闪电 【免费下载链接】swagger-js Javascript library to connect to swagger-enabled APIs via browser or nodejs 项目地址: https://gitcode.com/gh_mirrors/sw/swagger-js Swagger Client 是一款强大…...
3个鲜为人知的smcFanControl使用技巧:让你的Mac冷静运行的开源方案
3个鲜为人知的smcFanControl使用技巧:让你的Mac冷静运行的开源方案 【免费下载链接】smcFanControl Control the fans of every Intel Mac to make it run cooler 项目地址: https://gitcode.com/gh_mirrors/smc/smcFanControl 当你在夏天使用MacBook处理大型…...
OpenCore Legacy Patcher:让旧Mac重获新生的完整方案
OpenCore Legacy Patcher:让旧Mac重获新生的完整方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当您的Mac被官方系统更新拒之门外时…...
tchMaterial-parser:国家中小学智慧教育平台电子课本下载的高效解决方案
tchMaterial-parser:国家中小学智慧教育平台电子课本下载的高效解决方案 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本…...
C语言字符串必知:末尾有个隐藏的\0,新手易踩坑
C语言字符串 在C语言程序设计体系当中,字符串属于处理文本信息的核心载体,其设计逻辑跟底层实现深深地展现了C语言贴近硬件兼具高效灵活的语言特性,和一部分高级语言不一样,C语言并没有设置独立的字符串数据类型,而是经…...
优化Blazor渲染逻辑的实践
在Blazor应用程序开发中,页面渲染逻辑的优化是提升用户体验的重要环节。特别是当页面包含多个条件渲染的组件时,如何高效地控制渲染流程成为了一个关键问题。本文将通过一个实际的案例,展示如何在Blazor中使用RenderFragment和return语句来优化页面渲染逻辑。 背景 假设我…...
