秦枫-_-
码龄7年
关注
提问 私信
  • 博客:115,759
    社区:71
    115,830
    总访问量
  • 148
    原创
  • 1,594,692
    排名
  • 42
    粉丝
  • 0
    铁粉

个人简介:慵懒的程序猿

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2018-03-22
博客简介:

qq_41884662的博客

查看详细资料
个人成就
  • 获得271次点赞
  • 内容获得248次评论
  • 获得588次收藏
  • 代码片获得956次分享
创作历程
  • 5篇
    2022年
  • 143篇
    2021年
成就勋章
TA的专栏
  • IC
    5篇
  • 面试题
    3篇
  • java
    75篇
  • 算法
    3篇
  • dfs
    2篇
  • 二分法
    2篇
  • 数据结构
    122篇
  • 双指针
    3篇
  • 最短路算法
    1篇
  • 排序算法
    15篇
  • C++
    84篇
  • list使用
    8篇
  • 前序中序遍历
    3篇
  • 判断回文字符串
    2篇
  • 回溯法
    3篇
  • 分割字符串
    3篇
  • 中心扩散法
    1篇
  • 基础计算器
    1篇
兴趣领域 设置
  • 数据结构与算法
    排序算法
  • 人工智能
    分类
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

关于建立时间与保持时间的本质

建立时间与保持时间的概念?建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。建立时间裕量与保持时间裕量建立时间裕量:如果数据信号在时钟边沿触发之前的持续时间要大于建立时间Tsu,那么超出的部分时间即为建立时间裕量。保持时间裕量:如果数据信号在时钟边沿触发之后的保持时间要大于保持时间Thd,那么超出的部分时间即为保持时间裕量。为什么触发器要满足建立时间和保持时间? 因为触发器内部
原创
发布博客 2022.04.10 ·
1606 阅读 ·
6 点赞 ·
0 评论 ·
17 收藏

Verilog设计之异步fifo设计

module test_fifo #( parameter addr_width=4, parameter data_width=8, parameter fifo_depth=1<<(addr_width-1),) ( input clka, input clkb, input rstn, input w_en, input r_en, input [data_width-1:0]w_data, out
原创
发布博客 2022.03.15 ·
1323 阅读 ·
1 点赞 ·
2 评论 ·
6 收藏

verilog常考面试题之同步FIFO设计(给定位宽和深度)

fifo(first in first out)fifo的作用是缓冲,分为同步fifo和异步fifo,跟其他存储单元例如RAM的区别最大在于RAM有地址线,可寻址读写,而FIFO不可寻址,所以读写地址得用读写指针生成。1.同步fifo的写时钟和读时钟是同一个时钟域(信号基于同一个时钟变化)2.同步fifo的三部分:fifo写控制逻辑:产生写地址(决定往哪写,从0开始写)、写有效信号、写满(决定是否还能写)等信号;fifo读控制逻辑:产生读地址(决定从哪读,从0开始读)、读有效信号、读满(决定是否还.
原创
发布博客 2022.03.04 ·
2448 阅读 ·
1 点赞 ·
0 评论 ·
23 收藏

IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)

实现三分频电路最简单的是:利用计数器实现。时序图分析(本人比较懒,平常科研忙,所以直接手画时序图了,懒得用软件画了):直接上图分析:利用计数器每隔三个周期信号翻转一次,同时在不同的计数下翻转得到的同步信号clk_1和clk_2,再利用异或即可实现出一个不同占空比的三分频信号(同样的方法也可扩展到其他奇数分频设计中)。 例如占空比50%:module Div_three( input clk, input rst_n, output div_three);reg
原创
发布博客 2022.03.02 ·
12214 阅读 ·
14 点赞 ·
5 评论 ·
125 收藏

SV中父类与子类句柄转换,即子类的扩展类与父类句柄转换等问题

如上图,表示了父类与子类的继承关系以及对象关系。因此假设B继承A,那么子类B所能访问的成员变量同时包括自己的成员和父类的所有成员变量,也就是图中的大三角;而父类A仅能访问自己以及子类中属于自己的成员变量,不可访问子类的成员变量,即图中的小三角这是编译器规定,同时这个业与C/C++等高级语言保持一致。那么就有一个问题,实际写代码过程中,避免不了类型的转换问题,父类和子类句柄之间该如何转换?根据图中的包含与被包含关系,我们可以清楚看到,子类包含了父类,因此:父类句柄=子类句柄,顺理成章,但反过来就不行.
原创
发布博客 2022.01.11 ·
4060 阅读 ·
3 点赞 ·
3 评论 ·
70 收藏

springboot+vue项目部署到linux_arm64系统

1.前端打包,rpm run build生成dist文件夹下的文件放到后端static文件夹下(至于前后端配置可以参考我另外一篇文章)2.修改数据库链接密码(服务器短的数据库链接密码)3.将项目打包成jar文件(如果出现失败记得去改pom文件)pom文件配置 <build> <plugins> <plugin> <groupId>org.springframework.boo
原创
发布博客 2021.08.31 ·
1074 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

run build打包之后axios能连上,websocket连不上问题已解决

网上很多人说vue.config文件下换成绝对路径,我觉得然并卵前端url配置:生产环境的url为服务端的ip后端配置:前端websocket配置:可以改成生产环境对应的api前端build之后将dist文件夹下的文件复制粘贴放入后端static文件夹下,然后后端进行封装,注意这个时候封装成的html我理解的是是静态文件,而大多数时候我们使用websocket传输数据是一种动态建立传输:我打开后可以试用axios连接后端,静态数据也可以展示但是websocket所传输的动态数据一直没有出来
原创
发布博客 2021.08.31 ·
1607 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

航班预订统计(差分数组)

解题思路:差分数组对应的概念是前缀和数组,对于数组 [1,2,2,4][1,2,2,4],其差分数组为 [1,1,0,2][1,1,0,2],差分数组的第 ii 个数即为原数组的第 i-1i−1 个元素和第 ii 个元素的差值,也就是说我们对差分数组求前缀和即可得到原数组。ans数组刚开始记录的是每个数和他前一个数的差值即表示为差分数组,那么我们可以举例[1,2,10],ans[0]=10,ans[1]=0,ans[2]=-10,表示的就是此时idx=1跟他前一个数idx=0相差为0,即num[0]=.
原创
发布博客 2021.08.31 ·
136 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

监控二叉树(基于二叉树的动态规划)(后序遍历的进阶)

解题思路:这道题目其实不是那么好理解的,题目举的示例不是很典型,会误以为摄像头必须要放在中间,其实放哪里都可以只要覆盖了就行。这道题目难在两点:需要确定遍历方式需要状态转移的方程我们之前做动态规划的时候,只要最难的地方在于确定状态转移方程,至于遍历方式无非就是在数组或者二维数组上。本题并不是动态规划,其本质是贪心,但我们要确定状态转移方式,而且要在树上进行推导,所以难度就上来了,一些同学知道这道题目难,但其实说不上难点究竟在哪。需要确定遍历方式首先先确定遍历方式,才能确定转移方程,那么该如.
原创
发布博客 2021.08.20 ·
324 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

最小好进制(二分查找)

class Solution { public String smallestGoodBase(String n) { long num=Long.parseLong(n); int dmax=(int)(Math.log(num)/Math.log(2))+1; for(int i=dmax;i>=2;i--){ long kmin=2,kmax=(long)Math.pow(num,1.0/(i-1))+1; while..
原创
发布博客 2021.08.15 ·
133 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

出界的路径数(记忆化bfs)

记忆化dfs 已遍历过的点他的方案数已知晓 所以无需重新遍历class Solution { int MOD = (int)1e9 + 7; int[][][] dp; int m1,n1,maxstep=0; public int findPaths(int m, int n, int maxMove, int startRow, int startColumn) { m1=m;n1=n;maxstep=maxMove; dp=new i.
原创
发布博客 2021.08.15 ·
151 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

重塑矩阵(matlab reshape函数原理)

简单来说就是同样容量的情况下才能转换,否则就输出原矩阵(i,j)对应了矩阵中第i*n+j个数,对应ans中idx/c,idx%cclass Solution { public int[][] matrixReshape(int[][] mat, int r, int c) { int m=mat.length,n=mat[0].length; if(m*n!=r*c)return mat; int [][]ans=new int[r][c]; for(int .
原创
发布博客 2021.08.13 ·
1304 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

跳跃游戏Ⅳ(bfs+动态规划)

解题思路:题目要求计算从第一个元素跳到最后一个元素最少的操作次数。首先容易想到的是,坐标位于最后一个元素时,结果应为0,因为不用任何操作;对于这个元素紧挨着的左右元素(此时只存在左边的元素),它的操作数是1,因为只需要跳一次就跳到了最后;同理,对于数组里值和最后一个元素相等的那些数,他们的操作数都是1。然后,对于倒数第二个元素,它的操作数前一步已经求得为1,它右边数的结果也已经知道了,是0;它左边的数如果不等于最后一个数,那么它跟最后一个数的距离应为2。这里距离的意思是指操作次数,即跳两次才能到达最后.
原创
发布博客 2021.08.12 ·
272 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

等差数列划分(双指针or差分)

滑动窗口优化:双指针O(N),i-idx-1之间是一个等差数列,那么求它的等差子数组即可,最小的等差子数组长度为3,数量为len-3+1,最长的等差子数组长度为len,数量为1,那么他子数组的数量也是一个等差为1的等差数列,套用等差数列求和公式,最后i不必从最开始查起,直接跳转到idx-2处 以idx-2为首查等差数列长度即可class Solution { public int numberOfArithmeticSlices(int[] nums) { if(nums.length.
原创
发布博客 2021.08.10 ·
192 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

超级丑数(巧用记忆数组)

本质上就是将超级丑数ans[]不断跟prime[]中元素相乘得到最新的丑数,那么会出现一个问题:1.如何保证每次放进ans的丑数都是按照次序放进去的?2.如何保证每次放进ans的丑数不是重复值?灵感来源于B站:链接: 超级丑数.解题思路:查找最小丑数可以边历数组,但是不能去重,那么我们通过观察可以考虑到prime[i]跟ans[j]乘过之后就不能回头在用prime[i]*ans[j]了,也就是prime[i]每次在使用完后只用下次乘ans[++j]了,也就是prime[i]最多跟ans[j]乘.
原创
发布博客 2021.08.09 ·
177 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

访问所有节点的最短路径

关键点就是二进制位来记录某一位结点是否访问 关键就是state[][]数组的设置,然后用队列维护状态class Solution { public int shortestPathLength(int[][] graph) { int n=graph.length; boolean [][]state=new boolean[n][1<<n];//表示访问到当前i结点时,总共访问了多少个结点,二进制i位为1表示i结点已经被访问了 Queue<int[.
原创
发布博客 2021.08.07 ·
459 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

判断环形数组是否存在循环

这道题解读:首先是 给定的数组一定有环,但是这个环不能是自环且必须是「同向」才合法,因此如果我们在遍历过程中发现存在反向,就停止检查,并且把存在反向环的节点都标记为0,如此以后在遇到这些点就可以直接跳过,因为题目给定的每个点都只有一个唯一的出路,所以不用担心会判断错误具体地,我们检查每一个节点,令快慢指针从当前点出发,快指针每次移动两步,慢指针每次移动一步,期间每移动一次,我们都需要检查当前单向边的方向是否与初始方向是否一致,如果不一致,我们即可停止遍历,因为当前路径必然不满足条件。如果在一个符合题意.
原创
发布博客 2021.08.07 ·
331 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

蓄水池算法(链表随机节点)

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * ..
原创
发布博客 2021.08.07 ·
155 阅读 ·
1 点赞 ·
2 评论 ·
1 收藏

有效三角形的个数(双指针或二分法)(和三数之和一模一样的思路)

力扣链接:链接: 力扣.class Solution { public int triangleNumber(int[] nums) { int ans=0; Arrays.sort(nums); for(int i=nums.length-1;i>=2;i--){ int x3=nums[i]; int j=i-1,k=0; while(k<j){ if(nums[k]+nums[j.
原创
发布博客 2021.08.04 ·
165 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

拓扑排序(解决具有依赖性关系的问题)

拓扑排序是对一个有向图的顶点进行排序。它关心的是图中各个顶点的连接关系,这种连接关系也叫拓扑关系,因为它不关心各个顶点的位置与距离。应用:在一个有向无回路图中,要求对所有的节点进行排序。先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点关联的节点的入度减一。一直做改操作,直到所有的节点都被分离出来。如果最后不存在入度为0的节点,那就说明有环,不存在拓扑排序,也就是很多题目的无解的情况。下面是演示过程。举例:力扣113 课程顺序解题思路:由题目给出一个有向无回路图
原创
发布博客 2021.08.04 ·
1605 阅读 ·
2 点赞 ·
2 评论 ·
4 收藏
加载更多