自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 【leetcode-1143】最长公共子序列

题目链接1143. 最长公共子序列题目描述给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返

2021-08-27 15:05:28 383

原创 57. 和为s的两个数字

题目链接57. 和为s的两个数字题目描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]限制:1 <= nums.length <= 10^51

2021-05-29 20:05:22 86

原创 01背包问题

题目链接01背包题目描述已知一个背包最多能容纳物体的体积为V现有n个物品第i个物品的体积为v_ivi​ 第i个物品的重量为w_iwi​求当前背包最多能装多大重量的物品示例1输入10,2,[[1,3],[10,4]]输出4说明第一个物品的体积为1,重量为3,第二个物品的体积为10,重量为4。只取第二个物品可以达到最优方案,取物重量为4 备注:1≤V≤2001≤n≤2001≤v≤2001≤w≤200解题思路对于动态规划问题,我们首先需要搞清楚【状态】和【选

2021-05-29 20:04:06 335

原创 fabric 国密改造

背景最近应公司项目需求,需要对fabric中的加密相关模块进行改造,主要目的是使fabric底层加密服务支持国密算法sm2、sm3以及sm4等。借这次机会,顺便熟悉一下fabric加密模块的源码实现,故此处简单记录了国密改造的整个过程。fabric tag: 1.4.1国密改造整体方案msp是基于数字证书的成员身份管理,会调用bccsp即证书服务完成签名验签等功能。Fabric提供国密算法服务,需要同时使用基于国密的数字证书服务,以便使用数字证书时,能验证国密的数字签名,辨别用户身份。bccs

2020-12-21 10:13:55 2680 1

原创 46. 全排列

题目链接46. 全排列题目描述给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路这是一个高中的排列组合问题,我们可以先想一想当时的我们是怎么做的,很明显就是穷举。1,2,3,41,2,4,31,3,2,4…如此下去,其实就是用回溯法剪枝的方法遍历一棵二叉树,或者说深度优先遍历,是一个意思。确定用

2020-12-20 17:48:10 99

原创 322. 零钱兑换

题目链接322. 零钱兑换题目描述给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3 解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1

2020-12-20 17:46:21 42

原创 【Go 特性1】并发编程技术

并行和并发并行(parallel)指在同一时刻,有多条指令在多个处理器上同时执行。并发(concurrency)指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,通过cpu时间片轮转使多个进程快速交替的执行。程序和进程程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存、打开的文件、设备、锁…)进程,是一个抽象的概念,与操作系统原理联系紧密。进程是活跃的程序,占用系统

2020-12-20 17:43:31 50

原创 【Go 基础】

指针Go语言保留了指针,但与C语言指针有所不同。主要体现在:默认值 nil操作符 “&” 取变量地址, “*” 通过指针访问目标对象不支持指针运算,不支持 “->” 运算符,直接⽤ “.” 访问目标成员函数new表达式new(T)将创建一个T类型的匿名变量,所做的是为T类型的新值分配并清零一块内存空间,然后将这块内存空间的地址作为结果返回,而这个结果就是指向这个新的T类型值的指针值,返回的指针类型为*T。new创建的内存空间位于heap上,空间的默认值为数据类型默认值。如:n

2020-12-20 17:40:32 51

原创 1.找出数组中重复的数字(优化空间复杂度)

剑指offer刷题心路历程1.找出数组中重复的数字1.找出数组中重复的数字给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。注意:如果某些数字不在 0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1;样例给定 nums = [2, ...

2019-04-06 11:23:23 662

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除