05 2021 档案

四数之和
摘要:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意:答案中不可以包含重复的四元组。 示例 1: 输入:nums = [1 阅读全文

posted @ 2021-05-28 10:13 QzZq 阅读(85) 评论(0) 推荐(0)

最接近的三数之和
摘要:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例: 输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近 阅读全文

posted @ 2021-05-27 14:35 QzZq 阅读(68) 评论(0) 推荐(0)

盛最多水的容器
摘要:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 输入:[1,8,6,2 阅读全文

posted @ 2021-05-27 10:25 QzZq 阅读(57) 评论(0) 推荐(0)

Z 字形变换
摘要:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAH 阅读全文

posted @ 2021-05-26 20:19 QzZq 阅读(99) 评论(0) 推荐(0)

加一
摘要:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例  阅读全文

posted @ 2021-05-24 20:45 QzZq 阅读(127) 评论(0) 推荐(0)

最后一个单词的长度
摘要:给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = "Hello World"输出:5示例 2: 输入:s = " "输出:0 class 阅读全文

posted @ 2021-05-24 20:43 QzZq 阅读(63) 评论(0) 推荐(0)

搜索插入位置
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5输出: 2示例 2: 输入: [1,3,5,6], 2输出: 1示例 3: 输入: [1,3,5,6], 阅读全文

posted @ 2021-05-23 15:21 QzZq 阅读(23) 评论(0) 推荐(0)

实现 strStr() 函数
摘要:给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 说明: 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当 need 阅读全文

posted @ 2021-05-23 15:20 QzZq 阅读(58) 评论(0) 推荐(0)

罗马数字转整数
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 阅读全文

posted @ 2021-05-23 15:19 QzZq 阅读(79) 评论(0) 推荐(0)

回文数
摘要:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121输出:true示例 2: 输入:x = -121输出:false解释:从 阅读全文

posted @ 2021-05-23 15:18 QzZq 阅读(100) 评论(0) 推荐(0)

移除元素
摘要:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数,但输出的 阅读全文

posted @ 2021-05-21 21:17 QzZq 阅读(50) 评论(0) 推荐(0)

删除有序数组中的重复项
摘要:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传 阅读全文

posted @ 2021-05-21 21:16 QzZq 阅读(118) 评论(0) 推荐(0)

最长公共前缀
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"]输出:"fl"示例 2: 输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀 阅读全文

posted @ 2021-05-21 21:14 QzZq 阅读(50) 评论(0) 推荐(0)

二叉树的中序遍历
摘要:class Solution { public: vector<int> inorderTraversal(TreeNode *root) { std::stack<TreeNode *> stack; std::vector<int> res; while (root != nullptr || 阅读全文

posted @ 2021-05-20 19:51 QzZq 阅读(46) 评论(0) 推荐(0)

柱状图中最大的矩形
摘要:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。 示例: 阅读全文

posted @ 2021-05-20 19:04 QzZq 阅读(123) 评论(0) 推荐(0)

简化路径
摘要:给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任 阅读全文

posted @ 2021-05-20 19:02 QzZq 阅读(118) 评论(0) 推荐(0)

接雨水
摘要:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 阅读全文

posted @ 2021-05-20 19:01 QzZq 阅读(97) 评论(0) 推荐(0)

Bison之%require
摘要: 阅读全文

posted @ 2021-05-13 13:42 QzZq 阅读(108) 评论(0) 推荐(0)

Bison之%code
摘要:%code [qualifier] { code_seg } 这个选项就是用来指定代码段code_seg放在什么位置。其中qualifier可以为空、requires、provides、top或者imports。%code { code_seg }qualifier为空。此时代码段可以为C/C++, 阅读全文

posted @ 2021-05-13 13:36 QzZq 阅读(200) 评论(0) 推荐(0)

verilog编码指令
摘要:`celldefine 和 `endcelldefine `celldefine 和 `endcelldefine 用于将模块标记为单元(cell),一般在标准单元库中使用,一般来说写的代码都是模块,很少去把它标记为单元 `celldefine module abc(...); //此时的我是一个单 阅读全文

posted @ 2021-05-12 18:01 QzZq 阅读(1885) 评论(0) 推荐(0)

我的好兄弟之Flex&Bison 第三章 Flex,细品!(1)
摘要:前面的话:在此之前,如果我接到一个解析文本的工作,我会逐行读取并存储我想要的数据再去处理数据。最近,工作中需要去解析verilog代码,相信verilog有许多人都用过,各关键字有相对应的含义和用法,很明显不能通过上述的方法来做,大概浏览了github,给我这个没有学过编译原理的人指出了一条明路:y 阅读全文

posted @ 2021-05-09 14:03 QzZq 阅读(538) 评论(0) 推荐(0)

重建二叉树
摘要:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 # 阅读全文

posted @ 2021-05-09 09:39 QzZq 阅读(120) 评论(0) 推荐(0)

我的好兄弟之Flex&Bison 第二章 让Flex和Bison一起干活!
摘要:前面的话:在此之前,如果我接到一个解析文本的工作,我会逐行读取并存储我想要的数据再去处理数据。最近,工作中需要去解析verilog代码,相信verilog有许多人都用过,各关键字有相对应的含义和用法,很明显不能通过上述的方法来做,大概浏览了github,给我这个没有学过编译原理的人指出了一条明路:y 阅读全文

posted @ 2021-05-08 15:44 QzZq 阅读(1395) 评论(2) 推荐(0)

我的好兄弟之Flex&Bison 第一章 实现人生的第一个Flex!
摘要:前面的话:在此之前,如果我接到一个解析文本的工作,我会逐行读取并存储我想要的数据再去处理数据。最近,工作中需要去解析verilog代码,相信verilog有许多人都用过,各关键字有相对应的含义和用法,很明显不能通过上述的方法来做,大概浏览了github,给我这个没有学过编译原理的人指出了一条明路:y 阅读全文

posted @ 2021-05-08 13:13 QzZq 阅读(663) 评论(0) 推荐(0)

导航