游LeetCode一月之闲谈

今年的2月比往常更长,不是因为比往年多了一天,而是被病毒隔离在家的日子显得十分漫长。如果再不给自己找点事情做的话,且不论身体方面的健康状况,精神方面可能也会有些隐忧。做为一名工程师,适时地读上几本平日可能没时间阅读的好书,应当是不错的选项。而除此之外,也可以做点有趣的算法题目以做消遣。

当今,LeetCode这个网站已经广为人知。打算刷算法题时,它几乎是必然的选择。当然国外还有CodeWar,国内也有牛客网这样的备选。不过由于几年前也曾在LeetCode上玩过几题的关系,当再次有刷题想法的时候,还是回归到那熟悉而又陌生的地方。

最开始的时候可能也只打算投入几天的时间去重温下做题的感觉,但随着隔离时间的延长,且年内计划也制订了认真研习算法这一项,不知不觉每日持续做题的日子已经过去一个月了。

迄今为止,简单难度的题目做了68道,中等难度的题目做了42道,困难难度的2道,总计112道。

先刷的是简单的题目,闲来一天可以做个5,6题,再之后开始做中等难度的,每日坚持做3题,至于困难的题目,则是无事可做时想尝试下挑战的。当然这样的结果是必然查找功略才能有些线索。

LeetCode经过数年的发展,已经从最初的触手可及的100多道题,变成为拥有1364题的真正意义上的题库,这个数字记录截止于2020/2/29,之后肯定还会增加。(在做题的时候就发现其偷偷地又多了几题)

我刷题的方式不是如他人一般选取其前几百题做为开端,而是采用主题突破的策略。

在LeetCode网页的右侧有各种主题的汇总。

  • 数组 226
  • 动态规化 185
  • 数学 171
  • 字符串 159
  • 树 128
  • 哈希表 122
  • 深度优先搜索 117
  • 二分查找 84
  • 贪心算法 73
  • 广度优先算法 65
  • 双指针 60
  • 栈 54
  • 回溯算法 53
  • 设计 46
  • 位运算 44
  • 排序 43
  • 图 40
  • 链表 37
  • 堆 34
  • 并查集 29
  • 滑动窗口 20
  • 分冶算法 19
  • 字典树 17
  • 递归 15
  • 线段树 12
  • 有序字典 10
  • 队列 9
  • 极小极大算法 8
  • 二叉索引树 6
  • 行扫描算法 6
  • 随机算法 6
  • 拓扑排序 6
  • 迷题 5
  • 几何算法 5
  • 二叉查找树 2
  • 拒绝采样 2
  • 水库采样 2
  • 旋转哈希 2
  • 记忆 1
  • 后缀数组 1

可以看到在各个主题之中,渉及数组的题目占比最多。稍做思考,不难想出这一结果也合乎情理,毕竟数组是最基本的数据结构,如果不把其弄清楚,想明白,更没有能力去触及其它算法与数据结构的内容了。

于是顺乎其理,我以数组这一主题开始了算法新旅程。刚入手时其题目数还是224道,结果两周后又增加了2道,目前还未有进一步的更新,所以并不清楚LeetCode题库更新的频率。

在刷题的时候会发现,一道题目往往不仅牵扯单一主题,还会与其它主题相关,做这类题目时获得的收获往往也更多。同时网站上确实有功能可以将题目所附的标签显示出来,建议最初时不要打开这一选项,因为知道了题目的特性,可能也就明白了解题的思路,但在刚开始答题的阶段,这样的提示并不有利于思考,只有在自身经过一番推敲琢磨之后,再查看这些信息,才能获得更佳体验。

当然,做这些题目,尤其是中等以上难度的题目,既使花上几个小时,解不出题,也是正常的情况,本人便是一例。因为之前没有仔细在算法方面打磨过自己,对算法题的生疏也是在所难免。这并非要给自己找一个推脱的借口,算法,就像其它有价值的能力一样必须要经过相当时间的刻意练习,才可以达成某种程度的熟练度。

种一棵树最好的时间是十年前,其次是现在。既然十年前自己没有努力提升算法能力,那么到了今日,还有这个念想的话,只有迈步前行一个方法而已。

这里只是些闲谈,并不会详细记录每道题的解法,在刷完数组主题所有题目后应该会有一篇比较详实的记录,这里又定了个小计划。再之后将会聚焦于LeetCode中100道最受喜爱的题目,完成后继续做总结,然后会是动态规划主题,还是需要总结,如此这般持续进行,虽然期望在一年内完成所有题目,但估计不太可行,不如退而求其次,能够养成经常做算法题目的习惯,反而会是更好的收获。

演示了为无线无人机电池充电设计的感应电力传输(IPT)系统 Dynamic Wireless Charging for (UAV) using Inductive Coupling 模拟了为无人机(UAV)量身定制的无线电力传输(WPT)系统。该模型演示了直流电到高频交流电的转换,通过磁共振在气隙中无线传输能量,以及整流回直流电用于电池充电。 系统拓扑包括: 输入级:使用IGBT/二极管开关连接到全桥逆变器的直流电压源(12V)。 开关控制:脉冲发生器以85 kHz(周期:1/85000秒)的开关频率运行,这是SAE J2954无线充电标准的标准频率。 耦合级:使用互感和线性变压器块来模拟具有特定耦合系数的发射(Tx)和接收(Rx)线圈。 补偿:包括串联RLC分支,用于模拟谐振补偿网络(将线圈调谐到谐振频率)。 输出级:桥式整流器(基于二极管),用于将高频交流电转换回直流电,以供负载使用。 仪器:使用示波器块进行全面的电压和电流测量,用于分析输入/输出波形和效率。 模拟详细信息: 求解器:离散Tustin/向后Euler(通过powergui)。 采样时间:50e-6秒。 4.主要特点 高频逆变:模拟85 kHz下IGBT的开关瞬态。 磁耦合:模拟无人机着陆垫和机载接收器之间的松耦合行为。 Power GUI集成:用于专用电力系统离散仿真的设置。 波形分析:预配置的范围,用于查看逆变器输出电压、初级/次级电流和整流直流电压。 5.安装与使用 确保您已安装MATLAB和Simulink。 所需工具箱:必须安装Simscape Electrical(以前称为SimPowerSystems)工具箱才能运行sps_lib块。 打开文件并运行模拟。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值