代码随想录35期总结

别再到处找模型了!手把手教你将TI、ADI官网的SPICE模型导入LTspice(附路径避坑指南) 本文详细介绍了如何将TI、ADI官网的SPICE模型导入LTspice的全流程,包括模型获取、路径配置、符号生成等关键步骤,并提供了路径避坑指南。通过实战案例和技巧分享,帮助电子工程师高效利用外部元器件模型进行电路仿真,提升设计效率。 阅读详情

总结篇

对于八股取士的看法

算法对于开发来说,我自认为是不重要的,最多只需要直到遇到什么问题可以用什么算法,而不是需要做到精通会写.当前国内的程序员市场出现了饱和,由于大量开源知识,使得人人都能接触到大量的编程知识,这点造成了行业内卷非常严重.但是根据我的观察,面试似乎也成了应试教育.我身边的同学通过培训班几个月时间背八股,跟着做两个项目,把项目的八股背熟,模拟面试多次.这就能让他拿到工作.我从大一开始接触技术,工程化能力比较高,技术栈也很全面,但是没有学算法,背八股的习惯,因为绝大多数开发中都用不到.我是做Java后端的,会用的框架很多,除了spring全家桶,redis,消息队列外,我对docker,k8s很熟练也接触过kubevirt和qemu,Linux很熟练,甚至会一些Linux驱动开发.前端我也做过很多项目.自认为我是通过对后端学习时间久了(这里本来想说深入,但是对框架原理知之甚少).技术的广度有所提升.但是却比不上背诵大量八股,速成的人.这样的情况似乎会催生出面试辅导班的职业.不就又成了高考了吗?找到工作之后做不到工作和生活分离,加班已成了家常便饭.这好像是日本的老路,政府也没有什么举措,略感失望.

对于当前国内社会的看法

当前国内经济下滑,房地产作为经济支柱,人口红利耗尽,我看不到能代替房地产的东西.而且00后不婚族更多,房子的销量在进一步消减,房地产产业也没法东山再起了吧.那么下一个经济的快速增长点会在哪里呢.

算法总结

1. 分治(Divide and Conquer)

核心思想:将问题分成若干个相同或相似的子问题,递归解决子问题,再将子问题的解合并得到原问题的解。
常见应用:快速排序、归并排序、二分查找

2. 回溯(Backtracking)

核心思想:通过试探性地扩展解空间树,从根节点出发逐层向下构建解,遇到不满足条件的情况则回溯,尝试其他路径。
常见应用:N皇后问题、全排列、组合问题

3. 递归(Recursion)

核心思想:函数直接或间接地调用自身,将问题逐层分解直到达到最小问题规模。
常见应用:斐波那契数列、阶乘、树的遍历

4. 动态规划(Dynamic Programming)

核心思想:将问题分解成相互重叠的子问题,通过保存子问题的解来避免重复计算。
常见应用:背包问题、最长公共子序列、编辑距离

5. 单调栈(Monotonic Stack)

核心思想:利用栈的LIFO特性,保持栈中元素的单调性(单调递增或单调递减),用于解决一类特定问题。
常见应用:柱状图中的最大矩形、每日温度

6. 贪心算法(Greedy Algorithm)

核心思想:每一步都选择当前最优解,从而希望最终结果是全局最优。
常见应用:活动选择问题、霍夫曼编码、最小生成树(Prim和Kruskal算法)

7. 图算法(Graph Algorithms)

核心思想:处理图结构的问题,包括图的遍历、最短路径、最小生成树等。
常见应用:广度优先搜索(BFS)、深度优先搜索(DFS)、Dijkstra算法、Floyd-Warshall算法

8. 搜索算法(Search Algorithms)

核心思想:在解空间中系统地搜索目标,常用的有深度优先搜索和广度优先搜索。
常见应用:迷宫求解、路径规划

各算法之间的相对关系:

  • 分治和递归:分治通常通过递归实现,是递归的高级应用。
  • 回溯和递归:回溯本质上是递归的一种应用,利用递归逐步探索解空间。
  • 动态规划和递归:动态规划解决的问题常常可以用递归解决,但动态规划通过保存子问题解避免了重复计算,是递归的优化。
  • 贪心算法和动态规划:贪心算法是一种特殊的动态规划,选择每一步的最优解,但不一定适合所有动态规划问题。
  • 单调栈:是栈的一种应用,用于特定问题的求解。
  • 图算法和搜索算法:图算法是搜索算法的应用,广度优先搜索和深度优先搜索是图遍历的基本方法。
数字签名(Digital Signature)技术详解:从原理到实践 数字签名技术是数字世界身份认证和数据完整性的核心保障。它结合非对称加密和哈希函数两大密码学技术,实现双重安全防护:哈希函数确保数据完整性,非对称加密确保签名不可伪造。签名过程包括发送方用私钥加密文件哈希值生成签名,接收方用公钥验证签名并比对哈希值。RSA、DSA、ECDSA等主流算法各有特点,适用于不同场景。公钥基础设施(PKI)通过数字证书和CA认证建立信任链,确保公钥真实性。这套技术体系支撑着电子合同、软件认证、在线交易等各类数字安全应用,是现代网络信任体系的基石。 阅读详情

相关推荐

解决创建conda环境时Solving environment: failed 和 ResolvePackageNotFound 的错误

环境配置文件是在别的机器上导出的,文件里的软件包是按照导出文件的机器配置的,因此导出的时候,把这些包的详细信息也导了出来,即第二个等号后面跟着的信息,当我们按照这个文件创建环境时,conda就会根据我们机器的配置信息,按照配置文件里包的详细信息,去找这个包,那当然找不到,结果发现“查无此包”,因此也就会报上面的错误。上面找到了问题的所在之处,解决起来就很简单了,只需要在配置文件 environment.yml 中将包的详细信息删除,也就是第二个等号后面的内容。然而升级超级慢不说,也没有解决我的问题。...

番茄炒蛋三分糖 4万+

代码随想录60期day35

【代码】代码随想录60期day35。

qq_19555169的博客 275

AIGC算法工程师面试八股文深度解析与进阶指南:揭秘Diffusion Models核心原理与实战技巧

总结来说,Cosine Noise Scheduler 的核心优势在于它能够更巧妙地平衡信号和噪声的比例,在扩散过程的早期阶段更长时间地保留原始图像的细节信息,从而为去噪模型提供一个更友好的学习环境,最终带来更优异的生成质量。🚀

FJN110的博客 344

代码随想录35期Day50-Java

0 持有股票的状态 1 没有股票的状态 2 当天卖出股票 3 前一天卖出股票,今天就是冷冻期状态。核心思想:因为有冷冻期,和之前的题目的状态就有所不同,状态的确定是很难的。核心思想:在买卖股票Ⅱ的基础上加上手续费,只有两个状态,持有或者不持有。

github_72392797的博客 241

面向口齿不清者的语音识别新突破:用大模型拯救“听不懂”的声音

面向构音障碍患者的语音识别新突破:大语言模型显著提升识别准确率 国际语音研究团队在Interspeech 2025发表最新成果,通过将大语言模型(LLM)融入语音识别系统,显著改善了对构音障碍(dysarthria)患者语音的识别效果。研究表明: 传统语音识别(如CTC模型)对构音障碍语音的词错误率(WER)高达50-54%,Whisper模型降至38-40%。 引入LLM解码器后,BART模型将WER降至30-32%,而Whisper-Vicuna组合更将WER降低至21-26%。 关键优势:LLM能有效

帅小柏的博客 270

【LAMMPS学习】五、LAMMPS命令(1) LAMMPS 输入脚本

本部分描述了 LAMMPS 输入脚本的格式以及其中的命令如何用于定义 LAMMPS 模拟。主要包括以下内容。

荷塘阅色 2644

代码随想录35期Day35-Java

核心思想:获取字母的区间,然后如果遍历,遇到哪个字母右边界大于目前右边界,就更新遍历的终点.如果遍历到终点,说明这个区间内的所有包含的字母都只出现在目前这段区间内,我本来使用的map存储每一个区间,后面优化只用存储最后出现的地方就行了。核心思想:排序区间之后,如果重叠,更新下一个区间的右边界为最小值.如果重叠了,最少移除其中一个,更新移除的那个为最小的右边界之后就不会影响到之后的区间判断。核心思想:排序后遍历,遇到相重叠的区间,将最小左边界到最大右边界存到结果集。

github_72392797的博客 270

毕设助力!从0到1构建基于YOLO的家居安防异常活动监测系统,让你的毕设守护家庭安全

做完这个项目,你会发现自己完整走过了“数据采集→标注→模型训练→功能集成→界面开发”的毕设全流程,这不仅是技术能力的证明,更是对“技术守护生活”这一理念的实践。答辩时,你可以重点讲这几点:系统解决了家居安防的哪些痛点、对比了不同YOLO模型的性能差异、系统未来能怎么优化(比如对接智能门锁/报警器、实现语音交互)。未来,这个系统还能往“更智能”的方向发展:比如结合行为分析判断异常意图、开发移动端APP实现全屋设备联动、在智慧社区中实现多家庭联防……想象空间很大。

LXY_LOVE36的博客 120

代码随想录35期Day09-Java

核心思想:暴力之外的方法:当最长s-next刚好可以被s整除的时候,说明s就是由这么长的字串重复得到的。得到的最长next值为8,字符串长度为10,10-8=2 ,10%2 == 0;核心思想:KMP算法,比较难理解,建议找视频看,

github_72392797的博客 191

AI测试:手把手教你用AI做桌面自动化「喂饭教程」

本文介绍了基于MCP协议的DesktopCommanderMCP自动化工具,通过自然语言指令实现桌面操作。系统采用客户端-服务器架构,支持应用程序管理、文件操作、屏幕控制等功能。详细说明了环境搭建步骤,包括Python和Node.js依赖安装、API密钥配置及MCP服务部署。通过实战案例展示了文件整理、批量截图等典型应用场景,并分享了任务描述优化、权限控制等最佳实践。该方案能显著提升重复性桌面操作的效率,让AI成为智能办公助手。

blues_C的博客 851

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

代码随想录算法训练营19期第35天

贪心

u013003382的博客 96

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

代码随想录算法训练营第36期DAY35

首先对数组排序,然后使用二分查找来查找后面的元素中是否有和当前元素相同的元素,如果找到,就添加到结果中。当前覆盖范围用完,但是仍然没有覆盖到终点,就启动下一步覆盖范围(nextcover)很巧妙,也很难想到:计算每天的利润(今天卖出,昨天买入的利润),只取正数相加。注意要找到所有出现两次的整数,这样的整数可能不只有一个。把可选的(每次可选跳几步)复杂问题转化为覆盖单位问题(能覆盖到哪)。//排除空节点,避免空指针报错。还是不会呀,每天抽时间来复习做过的题吧。用最少的步数,尽可能覆盖最多的范围。

illuosion7的博客 1055

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

代码随想录35期Day02-数组

【代码】代码随想录35期Day02-数组。

qq_16674623的博客 286

代码随想录35期Day15-Java

核心思想:也是怎么遍历都行,要注意的就是判断当前节点的 left.left 和 right.right值相同,left.right和right.left值相同。使用层级遍历也是一样,下面提供层级遍历的代码。核心思想:使用先序或者后序遍历即可,在过程中进行左右子树的交换,层序也可。中序遍历注意:当你先交换左,然后交换中的时候,左子树和右子树交换了位置,接下来应该继续遍历左,否则相当于右子树没遍历。

github_72392797的博客 414

代码随想录35期Day01-Java

某211大三Java选手,暑期实习投了很多很多,笔试很多,Java开发没有一个进面试,唯一进面的是第二志愿运维开发岗,一面挂。虽然对目前大环境和经济抱有怨言,但是算法是必须要刷的,没有任何捷径。之前刷过了牛客hot101,但是还差得远,题量少,也没有系统学习过算法,这肯定还敲不开大厂的门。所以,从现在开始,真正脚踏实地,去克服这些困难。种下一棵树的最好时机,一个是十年前,一个就是现在。

github_72392797的博客 448

代码随想录35期Day02-Java

数组查询使用二分查找是很好的选择数组操作使用双指针数组模拟要细心,画图照着具体数据写就不易出错。

github_72392797的博客 287

代码随想录35期Day48-Java

核心思想:可以使用贪心,选择左边最小的和右边最大的,也可以动态规划,需要保存是否持有股票的状态,dp[i][0]表示第i天,不持有股票,dp[i][1]表示第i天持有。核心思想:也可以用贪心,只要比后一天小,就今天买,明天卖. 动态规划dp数组和上面一道题一样,只不过dp持有股票的含义略微变化。

github_72392797的博客 254

代码随想录35期Day8-Java

核心思想:这题主要要在原地完成。所以使用区间反转完成,先局部反转前length-n个,然后反转后n个,最后全部反转就完成// 先全部翻转,然后局部翻转,以 abcde,2 为例 char [ ] chars = s . toCharArray();// 反转0 到 length-1-index,就是除了后index个之外的,cbade reverseString(chars , 0 , chars . length - index - 1);

github_72392797的博客 361

代码随想录35期Day18-Java

核心思想:和112一样,回溯,只不过多维护一个path数组,存放目前为止的节点值,回溯sum的时候一并回溯。核心思想:用层序遍历很简单,只要找最后一层的第一个就行了。使用递归的话,维护一个深度,当遇到更深的节点的时候更新一次(同一深度不更新),注意要让左子树先遍历。核心思想:递归,以及看着某一个实例写代码,否则对边界会想乱。这里提供最容易看明白的切割数组的方式,可以使用边界来模拟切割数组,快得多。维护一个sum,遍历完子节点记得回溯。核心思想:和105同理,保持清晰头脑,确定好边界情况。

github_72392797的博客 255

代码随想录35期Day04-Java

删除倒数第n个,那么需要把指针移动到倒数n-1个上,那么使快指针在dummyHead上,向前n次后,快慢指针同时移动,快指针结束后慢指针就在倒数n-1上。核心思想:双指针+数学关系,快慢指针可以判断是否有环,相交后使用两个指针,一个从他们相遇的位置走,一个从链表开头走,相遇的位置就是环的开头。假如A长度为8 ,B链表长度为4,那么相交部分最长为4,那么就可以从A的第五位来遍历后四位,并且每位只需要比较一次,而不用全部遍历。核心思想:感觉比较常规,使用指针不断向前走,每两个执行一次翻转,画图就相当清楚了。

github_72392797的博客 221

代码随想录35期Day60-JavaScript

核心思想:当当前遍历到的元素小于栈顶元素的时候,此时栈顶元素最大面积就是自身面积,然后while向左移动,如果左边的值大于当前遍历到的元素,可以得到中间两个的元素最大矩形面积(左边的高度*2)理解了下面这个用例,就能理解。

github_72392797的博客 272

代码随想录35期Day07-Java

核心思想:1.使用数组存储两个数的和,然后使用hashmap从数组中取出target-sum的值,这样能达到效果,但是因为需要去重,这样得到的结果边界条件难控制并且难以去重。核心思想:将四个数组分成两组,使用HashMap存入前两个数组的两个元素的所有和,重复的就要多次计算,value存这个结果出现的次数。核心思想:这道题比较简单,只要把第二个字符串的所有字符计数,然后把第一个字符串中用到的字符减一,如果没有出现结果是负数的情况,那么就够用。核心思想:使用双指针,与三数之和类似,但是去重条件略微不同。

github_72392797的博客 332

代码随想录35期Day11-Java

还有一种非常暴力的办法:使用Java的string的replace,每次替换一个成对的括号,使用while,如果字符串长度不减少且不为空,那说明有不匹配的括号,直接返回false(不提供代码)核心思想:使用栈,左括号入栈,右括号就去匹配栈顶元素,如果不匹配就错误,最终栈为空且没有报错说明是有效的。核心思想:数字入栈,操作符不入栈,遇到操作符就出栈两个数字进行操作,然后结果入栈,最后在栈里的数字就是结果。核心思想:入栈的时候判断栈顶是否和将入栈的字母相同,相同则删除这俩。最后的字符串是全部出栈后反转。

github_72392797的博客 268

代码随想录35期Day24-Java

核心思想:回溯,维护一个当前的元素集。

github_72392797的博客 562

代码随想录35期Day03-链表

【代码】代码随想录35期Day03-链表。

qq_16674623的博客 371

代码随想录35期Day33-Java

核心思想:从左往右遍历一次,比左边大就+1,比左边小就置为1(贪心)。这样的话,如果右边比左边小减一的话,就可能得到负数。从右边往左边遍历左边比右边大的情况,如果左边比右边大就右边右边的+1,然后和之前左边遍历的取较大的。核心思想:每一个站点的加油量减去到下一个站的消耗量,就是这个站点的结余。如果结余是负数,那么就需要其他站点来补充。整个加油站是个环,那么就直接从负数的下一个开始。如果总共的结余总和为负数,那么从哪开始都是走不完的。如果有负数,则一直取反最小的负数,如果没有就取反正数。

github_72392797的博客 324
上一篇: 代码随想录35期Day60-JavaScript
下一篇: Flutter打包网络问题解决办法
Gohoy
博客等级 码龄4年 271粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值