白昼先生
码龄6年
关注
提问 私信
  • 博客:63,299
    63,299
    总访问量
  • 103
    原创
  • 2,001,194
    排名
  • 5
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2019-03-05
博客简介:

CSDNer_zry的博客

查看详细资料
个人成就
  • 获得7次点赞
  • 内容获得2次评论
  • 获得59次收藏
创作历程
  • 4篇
    2023年
  • 2篇
    2022年
  • 91篇
    2021年
  • 6篇
    2020年
成就勋章
TA的专栏
  • Go! Nowcoder!
    6篇
  • 区块链 周硕士
    5篇
  • LeetCode 简单版
    84篇
  • 人工智能 周硕士
    2篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 前端
    vue.js前端框架
  • 后端
    springnode.js架构
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

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

5. 最长回文子串

函数的作用是从给定的中心向两边扩展,找到以该中心为中心的最长回文子串。每次扩展之前,我们需要先判断左右两个指针指向的字符是否相等,如果相等,则可以继续向外扩展;否则,就已经找到了以该中心为中心的最长回文子串,可以返回其长度了。函数返回的是 s 中最长回文子串的起始位置和结束位置之间的子串,并且时间复杂度是 O(n^2),其中 n 是字符串 s 的长度。函数中,我们使用一个双指针循环遍历字符串 s 的每个字符,并计算以该字符为中心的最长回文子串长度。函数用来计算以给定的左右两个下标为中心的最长回文子串长度。
原创
发布博客 2023.06.10 ·
306 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4. 寻找两个正序数组的中位数

具体来说,我们首先计算出 nums1 和 nums2 的长度 m 和 n,然后创建一个长度为 m+n 的新数组 nums,用于存储排序后的元素。接着,我们使用归并排序的思想将 nums1 和 nums2 中的元素依次加入 nums 数组中,并保持它们的相对顺序不变。在每一轮循环中,我们比较 nums1[i] 和 nums2[j] 的大小关系,并将较小的元素加入 nums 数组中。因为我们需要遍历两个数组中的所有元素,以及将它们存储到一个新的有序数组中。这段代码是 Go 语言实现的两个有序数组的中位数问题。
原创
发布博客 2023.06.10 ·
220 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

3. 无重复字符的最长子串

这个算法的时间复杂度是 O(n),其中 n 是字符串 s 的长度。因为我们最多只需要遍历整个字符串一次,并且每个字符只会被访问一次。空间复杂度也是 O(n),因为最坏情况下,我们需要存储整个字符串中的所有字符。具体来说,我们首先创建一个空的哈希表 hashmap 和两个指针 left 和 right,它们初始化为 0。这段代码是 Go 语言实现的无重复字符的最长子串问题。算法的基本思路是使用双指针来维护一个不含有重复字符的子串,同时使用哈希表来记录每个字符最后一次出现的位置。
原创
发布博客 2023.06.10 ·
305 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2. 两数相加

接下来,我们将 n1、n2 和 carry 相加,并将结果除以 10 得到进位值 carry 和当前位上的数字 digit,将 digit 添加到输出链表的尾部。首先,我们定义了两个指针 head 和 tail 来记录当前输出链表的头结点和尾结点,以及一个变量 carry 来存储进位值,初始值为 0。在每次循环中,如果 l1 不为空,则获取 l1 当前节点的值 n1,并将 l1 指向下一个节点;最后,如果循环结束后 carry 的值大于 0,说明还存在一位需要进位,需要将其添加到输出链表的尾部。
原创
发布博客 2023.06.10 ·
183 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

GO语言:反转链表

GO语言:反转链表
原创
发布博客 2022.10.13 ·
432 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

1. 两数之和 Go语言

当我们遍历到第 i 个元素时,如果在 map m 中找到了键值为 another 的元素,就说明我们已经找到了一组符合条件的解,可以直接返回这两个元素的下标。对于每个元素 nums[i],我们计算出另一个需要与之配对的数 another = target - nums[i],并在 map m 中查找是否已经有一个元素等于 another。这段代码是一个 golang 实现的两数之和问题,它的思路是使用一个 map 来存储已经遍历过的元素以及它们的下标。
原创
发布博客 2022.07.14 ·
373 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

什么是 “数字孪生”

数字孪生(Digital Twin,DT)是一种超现实的概念,其又被人命名为数字镜像或者数字化映射。数字孪生简言之就是根据某个设备或系统的“物理实体”,在虚拟世界中创造出一个与之完全相同的数字版的“虚拟模型”,如同在与物理世界平行的数字世界中创造某个物体的“双胞胎兄弟”一样。创造出的“双胞胎兄弟”会做出与真实的物体一致的动作和反应,甚至可以在真实的物体运动的基础上尝试多种可能。数字孪生是一个结合多个学科、在多个维度进行仿真的过程...
原创
发布博客 2021.11.22 ·
8121 阅读 ·
1 点赞 ·
0 评论 ·
34 收藏

亲朋好友都能看懂的区块链

随着计算机科技的发展,无论是网络、密码学、数据结构、分布式算法等技术都趋于成熟,区块链领域把这些技术组合在一起,一揽子完成了从记账到分发到验证到保存的整个过程。综合区块链技术和区块链思维,只要是牵涉到多方参与的,有着复杂的账目来往和数据共享要求的场景,都可以考虑使用区块链。区块链不但能记账,也能记录人和物的信息,并通过共同对信息进行验证,固化下来,而变得可信。...
原创
发布博客 2021.11.22 ·
13280 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

区块链中的Merkle树

区块体中包含了由区块链系统产生的一系列交易数据,并以Merkle根的形式保存在区块头中,与前一区块的哈希值、时间戳和版本号等组成一个完整的区块。 上图表示的是比特币的区块结构,其区块头中还包含了难度目标、随机数Nonce等数据,以支持 PoW 共识机制中的挖矿运算。区块间采用链式结构进行连接,具体表现为每个区块的区块头中都包含了前一区块的哈希值,从而形成一条不可更改的完整区块数据链。...
原创
发布博客 2021.11.19 ·
4481 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

什么是智能合约?

区块链 1.0即是基于区块链技术初始应用的以比特币为代表的数字货币,其主要特点包括全网共享账本、源代码开源、以区块为单位的链状数据结构等。区块链 2.0以区块链技术为基础的智能合约。区块链 3.0代表是EOS。智能合约,Smart Contract,是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计...
原创
发布博客 2021.11.19 ·
1652 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

区块链的架构是如何定义的?

技术层面,一条区块链上有多个区块,每个区块包括区块头与区块体。 区块头中主要包括版本号、前一区块哈希值、时间戳、随机数、目标哈希、默克尔根; 区块体中是通过默克尔树记录的账本信息。...
原创
发布博客 2021.11.19 ·
15150 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

392. 判断子序列 Java版

class Solution { public boolean isSubsequence(String s, String t) { if(s.length() == 0) return true; char[] chars = s.toCharArray(); char[] chart = t.toCharArray(); int j=0; for(int i=0; i<cha.
原创
发布博客 2021.11.11 ·
105 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

389. 找不同 Java版

class Solution { public char findTheDifference(String s, String t) { int res = 0; for(char ch : s.toCharArray()) res ^= ch; for(char ch : t.toCharArray()) res ^= ch; return (char)res; }}.
原创
发布博客 2021.11.11 ·
257 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

387. 字符串中的第一个唯一字符 Java版

class Solution { public int firstUniqChar(String s) { if(s == null || s.length() == 0) return -1; int[] c= new int[26]; for(int i=0; i<s.length(); i++) c[s.charAt(i) - 'a']++; for(int i=0;.
原创
发布博客 2021.11.11 ·
436 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

383. 赎金信 Java版

class Solution { public boolean canConstruct(String ransomNote, String magazine) { int []record = new int[26]; char [] r = ransomNote.toCharArray(); char [] m = magazine.toCharArray(); for(int i=0; i<m.length; i+.
原创
发布博客 2021.11.11 ·
330 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

374. 猜数字大小 Java版

/** * Forward declaration of guess API. * @param num your guess * @return -1 if num is lower than the guess number * 1 if num is higher than the guess number * otherwise return 0 * int guess(int num); */public clas.
原创
发布博客 2021.11.11 ·
250 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

367. 有效的完全平方数 Java版

class Solution { public boolean isPerfectSquare(int num) { int low = 1; int high = num; while(low <= high){ int mid = low + (high - low)/2; int t = num/mid; if(t == mid){ .
原创
发布博客 2021.11.10 ·
121 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

350. 两个数组的交集 II Java版

class Solution { public int[] intersect(int[] nums1, int[] nums2) { Map<Integer,Integer> map = new HashMap<>(nums1.length); for(int num:nums1){ Integer count = map.get(num); if(count == null) .
原创
发布博客 2021.11.10 ·
397 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

349. 两个数组的交集 Java版

class Solution { public int[] intersection(int[] nums1, int[] nums2) { if(nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0){ return new int[0]; } Set<Integer> set1 = new HashSet<&g.
原创
发布博客 2021.11.06 ·
151 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

345. 反转字符串中的元音字母 Java版

class Solution { public String reverseVowels(String s) { HashSet<Character> set=new HashSet<>(); set.add('a'); set.add('e'); set.add('i'); set.add('o'); set.add('u'); set.add('A'); .
原创
发布博客 2021.11.06 ·
183 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多