代码随想录day2

DaVinci Configurator实战:从DBC导入到通信栈配置全解析 本文详细解析了如何使用Vector DaVinci Configurator工具,从导入行业标准DBC文件开始,高效完成AutoSAR通信栈(包括COM、PduR、CanIf等模块)的自动化与精细化配置。文章通过实战步骤,重点阐述了DBC导入、与EB MCAL协同、核心模块参数调整及诊断标定服务集成等关键环节,旨在帮助汽车电子工程师快速掌握这一核心工具,提升开发效率与准确性。 阅读详情

数组篇 Day2

有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

示例 1:

输入:nums = [-4,-1,0,3,10]
输出:[0,1,9,16,100]
解释:平方后,数组变为 [16,1,0,9,100],排序后,数组变为 [0,1,9,16,100]

思路

双指针法 :
数组其实是有序的, 只不过负数平方之后可能成为最大数了。
那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。
此时可以考虑双指针法了,i指向起始位置,j指向终止位置。
定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。
如果A[i] * A[i] < A[j] * A[j] 那么result[k–] = A[j] * A[j] 。
如果A[i] * A[i] >= A[j] * A[j] 那么result[k–] = A[i] * A[i] 。

代码:

class Solution {
    public int[] sortedSquares(int[] nums) {
        int left = 0, right = nums.length - 1;
        int[] res = new int[nums.length];
        int len = res.length - 1;
        while(left <= right){
            if(nums[left] * nums[left] > nums[right] * nums[right]){
                res[len--] = nums[left] * nums[left];
                ++left;
            }else{
                res[len--] = nums[right] * nums[right];
                --right;
            }
        }
        return res;
    }
}

长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。
示例:

输入:s = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的子数组。

思路

暴力解法
滑动窗口:
窗口就是 满足其和 ≥ s 的长度最小的 连续 子数组。
窗口的起始位置如何移动:如果当前窗口的值大于s了,窗口就要向前移动了(也就是该缩小了)。
窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。
滑动窗口示意图

class Solution {

    // 滑动窗口
    public int minSubArrayLen(int s, int[] nums) {
        int left = 0;
        int sum = 0;
        int result = Integer.MAX_VALUE;
        for (int right = 0; right < nums.length; right++) {
            sum += nums[right];
            while (sum >= s) {
                result = Math.min(result, right - left + 1);
                sum -= nums[left++];
            }
        }
        return result == Integer.MAX_VALUE ? 0 : result;
    }
}

螺旋矩阵II

给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。

示例:

输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]

思路

循环不变量规则:
模拟顺时针画矩阵的过程:

填充上行从左到右
填充右列从上到下
填充下行从右到左
填充左列从下到上

由外向内一圈一圈这么画下去。

class Solution {
    public int[][] generateMatrix(int n) {
        int[][] res = new int[n][n];
        int l = 0, r = n - 1;
        int u = 0, b = n - 1;
        int count = 1;
        while(count <= n * n){
            for(int i = l; i <= r;i++){
                res[u][i] = count++;
            }
            
            for(int i = u + 1;i <= b;i++){
                res[i][r] = count++;
            }
            
            for(int i = r - 1;i >= l ;i--){
                res[b][i] = count++;
            }
            
            for(int i = b - 1;i > u;i--){
                res[i][l] = count++;
            }
            l++;u++;r--;b--;
        }
        return res;
    }
}

此代码和螺旋矩阵的思路差不多。

Linux Component概述和高通component的使用 为了让subsystem按照一定顺序初始化设备才提出来的。subsystem中由很多设备模块,内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video device),这时就要用到component框架。例如v4l2 subdev和v4l2 video device中,谁依赖谁先创建? 阅读详情

相关推荐

Android Profiler 帧率优化实战与性能调优

本文详细介绍了使用Android Profiler进行帧率优化与性能调优的实战方法。通过分析主线程状态、FPS曲线和渲染阶段耗时,精准定位卡顿根源,并提供减少过度绘制、优化绘制命令及改善资源使用的具体策略。文章结合电商、游戏等真实案例,帮助开发者有效解决卡顿问题,提升应用流畅度。

palm99的专栏 536

代码随想录Day2

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。O(n^2)

HNTZB的博客 695

Linux音频处理实战:从MP3解码到ALSA播放的完整流程解析

本文详细解析了Linux环境下从MP3文件解码到通过ALSA播放音频的完整实战流程。文章深入剖析了MP3文件结构、PCM原始音频数据格式,并提供了使用ffmpeg/mpg123解码、以及利用ALSA库进行C语言编程播放的实用代码示例,帮助开发者彻底掌握Linux音频处理的核心链路。

weixin_29206669的博客 72

Day2 代码随想录 刷题记录

状态不错。值得反思的是很多基础语法与输入的问题。还有对于边界的把握度不够,基础完成了思路后一定要完成边界的处理,这个点考虑得还不够到位。

windyyyyyyyyyyy的博客 737

robot framework循环读取excel表操作

robot framework循环读取excel表操作 1、安装excellibrary,注意python3.7版本,需安装:robotframework-excel,robotframework-excellibrary-xwfintech 注意:网上有很多excel处理的,都是基于python2.7的,还有一些对python3以上都是修改包的方式,其实都不需要,在pip官网上有python3以上的excellibrary,名称是robotframework-excellib 2.0.0,但是该包关键字不

余墨的博客 1319

ch32v103xx 烧写

烧写方式 串口uart, usb,swd(wch link)但不建议按此使用,参官方说明。

qq_39239990的博客 637

代码随想录day2 数组总结

滑动窗口就是有一个起始位置,一个终止位置,通过调节起始位置和终止位置得到我们想要的结果。外面一层for循环 用来更新终止位置 不满足条件 终止位置右移。里面一层while循环 用来更新起始位置 满足条件 起始位置右移。把前缀和保存起来后面直接用。

WXH_111的博客 371

IEEE S&P 2026 大模型安全论文整理

本文梳理了 IEEE S&P 2026(第47届 IEEE 安全与隐私研讨会)中与 LLM Safety 相关的论文,涵盖大模型越狱攻击、防御与对齐、隐私保护、RAG 安全、多模态大模型安全、智能体安全、图-LLM 安全、工具链安全及生成式 AI 安全与隐私等方向。

CSPhD-winston的博客 1336

代码随想录训练营Day2

209.长度最小的子数组fast++) {slow++;return 0;}else{59.螺旋矩阵II这题建议看Leetcode Krahets的解析,讲的非常清楚i <= r;t++;break;i <= b;r--;break;i >= l;b--;break;i >= t;l++;break;

z1414758992的博客 685

18、项目运行与调试全攻略

本文详细介绍了在IntelliJ IDEA中进行项目运行与调试的完整流程,涵盖运行配置的创建与管理、临时配置的使用与保存、运行窗口的控制台操作及多程序并行运行的处理。同时,讲解了如何通过调试器定位和修复语法错误、运行时错误及逻辑错误,并结合ACME项目演示了第三方库Log4J的集成方法和命令行客户端的功能改进。文章还提供了调试流程图,帮助开发者系统掌握IDEA的强大调试功能,提升开发效率与代码质量。

svm4gardener的博客 76

Cartographer实现双雷达建图

TRAJECTORY_BUILDER_2D.num_accumulated_range_data = 2 --执行一次前端匹配需要的激光扫描分段数量。关于num_subdivisions_per_laser_scan。num_laser_scans =2,--订阅激光扫描话题数量。Frame改为 前雷达laser_1 后雷达laser_2。雷达的话题由scan改为,前scan_1 后scan_2。有些人说需要改成2,但我这里改成2反而不行,1才可以。

Studying…… 1261

代码随想录算法训练营Day2

前缀和:重复利用计算过的重复利用计算过的子数组之和,从而降低区间查询需要累加计算的次数。在使用前缀和求解的时候,要特别注意求解区间。

lololo的博客 957

python实现序列比对之Needleman-wunsch算法 (附完整源码)

python实现序列比对之Needleman-wunsch算法 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 461

代码随想录day2_数组part02

代码随想录day2数组part2

Gewe_Xiaokang的博客 855

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

代码随想录刷题Day2

接着昨天刷过的关于二分查找的两道题目,这道题是对能找到target的情况下,在排序数组中找值为target的范围。代码基于二分查找的代码修改,需要把原来的一个索引index分为一个区间,区间用区间的左右两个索引值,最后放入一个vector的变量中返回。这道题要求,不能使用库函数,这个题目放在二分查找的主题中,自然会想到使用二分查找的方式来遍历,不断缩小查找范围,直到最后锁定到一两个数为止。今天做题有些浮躁,但至少对求开方的方法,有了新的认识,可以使用二分法来遍历锁定,这种逆向加速的方法,算是收获了。

qq_57141819的博客 394

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

代码随想录60期day2

一维度区间和,可以处理连续数组有负数的。只能考虑每个值为正数。

qq_19555169的博客 321

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

代码随想录训练Day2[数组02]

滑动窗口:思路: 子数组的长度会不断变更, 可能在中间,可能 在两边,也可能在中间,所以要是值一个值和每次产生的子数组长度作比较。依旧是两重循环,一重循环来遍历整个数组,第二重循环,来寻找字串的位置。首先我没搞懂要循环几次,也就是while() 中的条件,应该是n/2 , 但首先考虑到n 分奇偶,如果是奇数,就会留下中间的位置,在最后判断如果是奇数就对填充的数组单独的赋值,也就是nums[n/2,n/2] = n* n;

2302_77073920的博客 319

代码随想录day2 - 数组章节总结

代码随想录day2-数组总结

weixin_42161901的博客 320

代码随想录 DP day2

总结:要注意for循环中i的范围,dp的下标要一直到cost.size(),因为dp[i]表示的是一直到i层需要花费的cost最小总和,而顶层则是下标为cost.size()思路:首先注意题目中只可向右和向下,那么递推关系就只需要考虑左边移一步和上面向下一步,所以递推关系就显而易见了,就是左边一步和上面一步的路径和相加。思路:递推公式和爬楼梯类似,都是思考第i层由什么得来的呢?即i-1和i-2加上对应的cost。这题只要递推关系出来了其他的四部曲就比较简单,不再赘述。

DitanZ的博客 307

【代码随想录训练营】Day2-数组

代码随想录训练营Day2,欢迎大家一起交流!

weixin_38255385的博客 4486

代码随想录刷题day2

感悟:继续巩固双指针的用法 ,快慢指针,和滑动窗类似。所有元素,且元素按顺时针顺序螺旋排列的。如果不存在符合条件的子数组,返回。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。感悟:注意区间的变化。

LL_xjbt的博客 201

代码随想录算法day2

定义3*3矩阵【构造的时候数字就是长度,访问时要-1】使用初始化列表来直接赋值:{1, 2, 3},{4, 5, 6},{7, 8, 9}“这个图是代码随想录知识星球 (opens new window)海螺人 (opens new window),所画,总结的非常好”注:本系列所有引用号内的语句均为代码随想录原文。

weixin_48485132的博客 1844

代码随想录打卡|Day21(复原ip地址、子集、子集2)

力扣题目链接 代码随想录链接 视频链接题目描述: 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。 给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.

m0_51794588的博客 740

《代码随想录》刷题打卡day 2:数组part02

采用知识星球前辈“海螺人”所画图,结合题目收获颇多,以总结。

2301_77038122的博客 273

代码随想录-算法训练营day29(回溯算法05:非递减子序列,全排列,全排列2)

/如果是在树枝上,因为已经进入了新的回溯函数,所以nums已经重置了,used[nums[i] + 100] == 0,就可以加进去。//元素个数确定,数组也行,不对不行,要用path.size==nums.length去判断结束,只能用List。//元素个数确定,数组也行,不对不行,要用path.size==nums.length去判断结束,只能用List。//本体题不能排序,用哈希法的数组表现形式去重。//used[nums[i] + 100] == 1 说明本树层上已经用过了,就不能用了;

weixin_61931006的博客 944

代码随想录-算法训练营day43(动态规划06:完全背包,零钱兑换2,组合总和4)

动态规划06:完全背包,从前向后遍历导致一个物品可以被判断并放置多次,先遍历物品再遍历背包导致排列数

weixin_61931006的博客 946
下一篇: 代码随想录day3
Strongwind_
博客等级 码龄7年 139粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值