nai_dev
码龄7年
关注
提问 私信
  • 博客:48,679
    社区:1
    48,680
    总访问量
  • 38
    原创
  • 1,447,589
    排名
  • 21
    粉丝
  • 0
    铁粉

个人简介:学无止境~

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2017-12-02
博客简介:

qq_41246458的博客

查看详细资料
个人成就
  • 获得49次点赞
  • 内容获得6次评论
  • 获得365次收藏
  • 代码片获得1,460次分享
创作历程
  • 39篇
    2020年
成就勋章
TA的专栏
  • 小问题
    3篇
  • android
    4篇
  • 编译原理
    3篇
  • linux
    8篇
  • 其他
    1篇
  • 每日一题
    16篇
  • 算法与数据结构
    1篇
  • 网络技术
    1篇
  • ucosii
    1篇
兴趣领域 设置
  • 前端
    vue.jsreact.js
  • 后端
    node.js
  • 学习和成长
    面试
创作活动更多

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

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

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

Ubuntu64位执行32位文件

执行文件出现‘没有那个文件或目录’,Ubuntu是64位,需执行文件是32位。需要一个库才能在64位的系统上执行32位的程序,所以根据你的系统,把这个库安装上即可。所使用的命令是:sudo dpkg --add-architecture i386sudo apt install libc6:i386...
原创
发布博客 2020.06.08 ·
981 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

编译原理之简单语法分析器(c语言)

语法分析是编译过程的核心部分,其基本任务是根据语言的语法规则进行语法分析,如果不存在语法错误即给出正确的语法结果,并为语义分析和代码生成做准备。语法分析器的两种方式语法分析器的任务主要是确定是否可以以及如何从语法的起始符号推导出输入符号串(输入文本),主要可以通过两种方式完成:1. 自顶向下分析根据形式语法规则,在语法分析树的自顶向下展开中搜索输入符号串可能的最左推导。单词按从左到右的顺序依次使用。2. 自底向上分析语法分析器从现有的输入符号串开始,尝试将其根据给定的形式语法规则进行改写,最.
原创
发布博客 2020.06.01 ·
7180 阅读 ·
7 点赞 ·
0 评论 ·
58 收藏

设计算法求解FIRSTVT和LASTVT(c语言)

Firstvt和Lastvt是为了画算符优先关系表的(就是表里面填优先大于小于等于的抄那个)。Firstvt:找Firstvt的三条规则:如果要找A的Firstvt,A的候选式中出现:A->a…,即以终结符开头,该终结符入Firstvt;A->B…,即以非终结符开头,该非终结符的Firstvt入A的Firstvt;A->Ba…,即先以非终结符开头,紧跟终结符,则终结符入Firstvt。Lastvt:找Lastvt的三条规则:如果要找A的Lastvt,A的候选式中出现:.
原创
发布博客 2020.06.01 ·
4553 阅读 ·
14 点赞 ·
0 评论 ·
54 收藏

linux内核模块之简单进程遍历

了解linux内核中常用的数据结构进程控制块—task_struct;了解include/linux/sched.h中的函数和宏;初步掌握内核宏定义for_each_process ()、list_entry()的功能。实现的内容编写一个内核模块,打印出系统中所有的进程的进程名、PID号和进程状态,即实现进程的遍历,类似ps命令。操作如下(注:内核进程此处称为内核线程,其实都是task_struct)一、编写代码(list.c)#include <linux/init.h>.
原创
发布博客 2020.05.22 ·
4517 阅读 ·
4 点赞 ·
1 评论 ·
54 收藏

使用git管理控制github

git管理项目。(个人笔记,不适用于他人)前提:已经注册好github;可以下载git管理图形界面(推荐sourceTree)。一、GitHub 基本概念Repository仓库的意思,即你的项目,你想在 GitHub 上开源一个项目,那就必须要新建一个 Repository ,如果你开源的项目多了,你就拥有了多个 Repositories 。Issue问题的意思,举个例子,就是你开源了一个项目,别人发现你的项目中有bug,或者哪些地方 做的不够好,他就可以给你提个 Issue.
原创
发布博客 2020.05.18 ·
142 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode题之合并两个有序链表(简单)

直接的数值比较,这里可以新链接一个链表,或者直接在其中一个链表插入移动。题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4代码:class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { /.
原创
发布博客 2020.05.17 ·
151 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode题之有效的括号(简单)

遇到这道题一开始的思路就是使用栈的先进后出;不过看到一个简洁的代码是直接匹配括号,然后删除一对括号,如果符合,最后字符串为空;不过后者时间复杂度和空间复杂度不好,因为需要不断调用api。题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入: “()”输出: true示例2:输入: “(]...
原创
发布博客 2020.05.17 ·
122 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode题之删除倒数第n个节点(中等)

和查找链表倒数第n个节点差不多,不过这里我们先查到倒数第n个的前一个,这样通过a.next指向需删除的下一个节点,这个节点就被删除了。题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.代码:老方法,使用双指针;/** *.
原创
发布博客 2020.05.17 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode题之四数之和(中等)

两数之和,三数之和,它来了。。。四数之和。可推广到n数之和。题目描述:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[[-1, 0, 0, 1],[.
原创
发布博客 2020.05.16 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux系统之内核模块编程

Linux操作系统内核是单内核,速度和性能都很高,如何提高可扩展性和可维护性?那就是模块机制。用户可以根据需要,在不需要对内核重新编译的情况下,可以将模块动态地载入或移出内核。一、什么是模块?模块是具有独立功能的程序,它可以被单独编译,但不能独立运行。它在运行时被链接到内核作为内核的一部分在内核空间运行。模块通常由一组函数和数据结构组成,用来实现一种文件系统、一个驱动程序或其他内核上层的功能。内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel.
原创
发布博客 2020.05.16 ·
966 阅读 ·
0 点赞 ·
0 评论 ·
10 收藏

leetcode题之三数之和为0(中等)

《LeetCoding》读完题我就上手 操作起来稳如狗二话不说就提交 最终超时骂我草三顾题解再上手 提交错误心疾首寻思看看评论区 没想和我一样虚愁的我是头发白 做题还得自己来反反复复终无误 击败百分三点五题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -.
原创
发布博客 2020.05.15 ·
307 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

算法题之约瑟夫环(简单)

约瑟夫环代码简短,简单但可读性变难。题目描述:一共有n个人,依次报数,报到k的人被淘汰,第k+1个人又从1开始,最后留下的人的编号。示例1:输入(8,3)输出 7最后12345678中的第7编号留下;示例2:输入(1,3)输出 1当为1个人时,无论怎么报数,已经是最后留下的人简单说明原理:我们可以用数组和链表模拟游戏过程,得出结果,但这里只需结果,无需过程,所以用数学方法;(案例为5个人报数,报到3的排除)原编号12345排除124.
原创
发布博客 2020.05.15 ·
367 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

leetcode题之返回倒数第k个节点(简单)

快慢指针题目描述:实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。示例:输入: 1->2->3->4->5 和 k = 2输出: 4代码如下:class Solution { public int kthToLast(ListNode head, int k) { ListNode slow = head; ListNode fast = head; while(k>0){ .
原创
发布博客 2020.05.14 ·
394 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

leetcode题之最长公共前缀(简单)

求最大字符串和最小字符串(字符串是字典排序)的最长公共前缀;直接以第一个字符串为标准一次删去最后一个字符,startwith判断,直到最后一个字符串;字典树题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。代码如下:上述的第二种方法:..
原创
发布博客 2020.05.14 ·
176 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode题之罗马数字转整数(简单)

IV这种可以理解减I加V,所以-1+5=4;题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写.
原创
发布博客 2020.05.14 ·
223 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

leetcode题之整数转罗马数字(中等)

固定符号一般采取编码题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为.
原创
发布博客 2020.05.14 ·
137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode题之盛最多容器水(中等)

平移,贪心算法题目描述:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49java代码:class Solution { public int maxArea(int[] .
原创
发布博客 2020.05.14 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kmp算法的next数组实现(精简)

kmp算法戳这里->kmp算法精简说明这里我们学习next数组是如何通过代码实现一一取值的。一、如何实现变量i:用于遍历next数组下标给一一赋值;变量j:用于指向上一段的最长公共前缀的下一位。例如:当我们在算“abad”的next值时, 前一段就是”aba“,此时j指向的就是b。①下标i项与下标j项比较;相等,那直接j移到下一位,相同前后缀就是(j++)的值;不相等,j需要回溯:回溯我们令查看下标j-1的next数组值,发现为1;令j=next[j-1];原本的 j.
原创
发布博客 2020.05.14 ·
318 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

KMP算法(最精简的理解)

算法理解以简略为主,太多理论解释容易绕晕。主要有以下三个数组:匹配串:字符型模式串:字符型next[i]数组:int一、next[i]数组说明(先了解这个比较好学)next[i]是专门针对模式串的(功能我们后面结合实例介绍):模式串abcdabdnext[i]数值0000120①首先我们了解前缀和后缀前缀:(这里直接距离理解,比概念有用)abc的前缀包括{a,ab};abcd的前缀包括{a,ab,abc};可以看出.
原创
发布博客 2020.05.13 ·
299 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode题之Z字形变换(中等)

一道找规律题直接z型存入n(规定的行)个stringbuilder;根据规律(2*n-2为周期)。题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函.
原创
发布博客 2020.05.10 ·
186 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多