自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (10)
  • 收藏
  • 关注

原创 5. 最长回文子串

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

2023-06-10 21:29:39 139

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

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

2023-06-10 21:05:50 107

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

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

2023-06-10 20:54:46 188

原创 2. 两数相加

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

2023-06-10 20:39:13 60

原创 GO语言:反转链表

GO语言:反转链表

2022-10-13 17:12:03 273 1

原创 1. 两数之和 Go语言

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

2022-07-14 21:11:36 288

原创 什么是 “数字孪生”

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

2021-11-22 17:08:55 6701

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

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

2021-11-22 12:13:12 13182

原创 区块链中的Merkle树

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

2021-11-19 20:42:20 4223

原创 什么是智能合约?

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

2021-11-19 16:32:28 1569

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

技术层面,一条区块链上有多个区块,每个区块包括区块头与区块体。 区块头中主要包括版本号、前一区块哈希值、时间戳、随机数、目标哈希、默克尔根; 区块体中是通过默克尔树记录的账本信息。...

2021-11-19 13:13:14 15012

原创 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 18:29:41 75

原创 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 16:26:01 231

原创 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 16:18:42 277

原创 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 16:09:52 277

原创 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 15:46:56 222

原创 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 12:45:40 91

原创 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 12:28:18 327

原创 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 15:00:14 111

原创 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 14:36:09 154

原创 344. 反转字符串 Java版

class Solution { public void reverseString(char[] s) { int n = s.length; for(int i=0; i<n/2; i++){ int j= n -1 -i; s[i]^=s[j]; s[j]^=s[i]; s[i]^=s[j]; } }}

2021-11-04 16:08:11 103

原创 构建情绪检测应用程序

目标检测人脸识别目标跟踪AWS服务AWS Rekognition:AWS主要的汽车AI计算机视觉服务。具有从人脸检测、文本检测到目标跟踪的大量特征。AWS S3:Amazon的存储服务,我们将使用此服务存储我们的训练数据和模型/信息。Boto3:AWS软件开发工具包(SDK),用于Python开发人员,可以使用它来处理AWS服务。我们将使用Boto3与S3访问我们的图像并调用Rekognition。身份访问和...

2021-11-01 22:00:27 106

原创 机器学习&基础

机器学习是一种重在寻找数据中的模式并使用这些模式来做出预测的研究和算法的门类机器学习是人工智能领域的一部分①选择数据:将你的数据分成三组:训练数据、验证数据和测试数据②模型数据:使用训练数据来构建使用相关特征的模型③验证模型:使用你的验证数据接入你的模型④测试模型:使用你的测试数据检查被验证的模型的表现⑤使用模型:使用完全训练好的模型在新数据上做预测...

2021-11-01 21:37:15 117

原创 342. 4的幂 Java版

class Solution { public boolean isPowerOfFour(int n) { // 0x55555555 = 1010101010101010101010101010101 (偶数位为0,奇数位为1) // 先检查是否大于0,再看二进制位是不是只有一个1,然后检查这个1是不是在4的次方位上 return n > 0 && (n & -n) == n && (n & .

2021-10-13 16:59:37 53

原创 338. 比特位计数 Java版

class Solution { public int[] countBits(int n) { int[] res = new int[n + 1]; for(int i=0; i<=n; i++){ if(i%2 == 0) res[i] = res[i/2]; else res[i] = res[i/2] + 1; }.

2021-10-13 13:38:37 118

原创 326. 3的幂 Java版

class Solution { public boolean isPowerOfThree(int n) { if(n<=0) return false; while(n>1){ if(n%3 != 0) return false; n = n/3; } return true; }}

2021-10-11 19:07:56 62

原创 303. 区域和检索 - 数组不可变 Java版

class NumArray { private int[] sums; public NumArray(int[] nums) { sums = new int[nums.length]; if(nums.length == 0){ return; } sums[0] = nums[0]; for(int i=1; i<nums.length; i++){ .

2021-10-11 18:46:52 82

原创 292. Nim 游戏 Java版

class Solution { public boolean canWinNim(int n) { if(n%4 == 0) return false; else return true; }}

2021-10-11 16:36:58 575

原创 290. 单词规律 Java版

class Solution { public boolean wordPattern(String pattern, String s) { if(pattern == null || s == null) return false; String[] string = s.split(" "); if(pattern.length() != string.length) return fals.

2021-10-10 21:36:58 137

原创 283. 移动零 Java版

class Solution { public void moveZeroes(int[] nums) { for(int i=0,count=0;i<nums.length;i++){ if(nums[i] != 0){ if(count != i){ nums[count] = nums[i]; num.

2021-10-10 21:13:20 48

原创 278. 第一个错误的版本 Java版

/* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */public class Solution extends VersionControl { public int firstBadVersion(int n) { int lo = 1; int hi = n; .

2021-10-10 20:52:44 91

原创 268. 丢失的数字 Java版

class Solution { public int missingNumber(int[] nums) { int res = nums.length; for(int i = 0; i<nums.length; i++){ res ^= nums[i]; res ^= i; } return res; }}

2021-10-10 20:43:31 90

原创 263. 丑数 Java版

class Solution { public boolean isUgly(int n) { if(n == 0) return false; else if(n%2 == 0){ return isUgly(n/2); } else if(n%3 == 0){ return isUgly(n/3); } else if(.

2021-10-10 20:32:31 52

原创 258. 各位相加 Java版

class Solution { public int addDigits(int num) { if(num<10) return num; num = num/10+num%10; return addDigits(num); }}

2021-10-10 20:12:58 72

原创 257. 二叉树的所有路径 Java版

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { .

2021-10-10 19:44:16 138

原创 242. 有效的字母异位词 Java版

class Solution { public boolean isAnagram(String s, String t) { int[] sCounts = new int[26]; int[] tCounts = new int[26]; for(char ch : s.toCharArray()){ sCounts[ch - 'a']++; } for(char ch : t.toC.

2021-10-10 19:24:33 58

原创 237. 删除链表中的节点 Java版

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public void deleteNode(ListNode node) { node.val = node.next.val; .

2021-10-10 19:15:53 141

原创 235. 二叉搜索树的最近公共祖先 Java版

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { private TreeNode res; public TreeNode lowestCommonAn.

2021-10-10 19:11:45 64

原创 234. 回文链表 Java版

/** * 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-10-08 22:00:27 50

原创 232. 用栈实现队列 Java版

class MyQueue { private Stack<Integer> a; private Stack<Integer> b; public MyQueue() { a = new Stack<>(); b = new Stack<>(); } public void push(int x) { a.push(x); } pub.

2021-10-08 21:51:04 116

4 大软件架构.xmind

4 大软件架构.xmind

2021-02-06

软件架构模式.xmind

软件架构模式.xmind

2021-02-06

集群和负载均衡.xmind

集群和负载均衡.xmind

2021-02-05

再一次,Cookie、Session、Token、JWT.xmind

再一次,Cookie、Session、Token、JWT.xmind

2021-02-05

Hi~ 伙计Nginx.xmind

Hi~ 伙计Nginx.xmind

2021-02-03

架构(千峰教育 最初滴神).xmind

架构(千峰教育 最初滴神).xmind

2021-01-31

演进之路.xmind

演进之路.xmind

2021-01-31

Cookie、Session、Token、JWT.xmind

Cookie、Session、Token、JWT.xmind

2021-01-30

跨域及其解决方案.xmind

跨域及其解决方案.xmind

2021-01-29

vue 致后端程序员.xmind

适合后端程序员的vue思维导图

2021-01-29

空空如也

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

TA关注的人

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