- 博客(30)
- 问答 (1)
- 收藏
- 关注
原创 有基础转Go语言学习笔记(3. 面向对象篇)
结构体是组合相关属性的方式。你可以将数据封装在一个结构体内。age int在这个例子中,person结构体封装了name和age字段。这个ShapeArea和Perimeter。任何提供了这两个方法的类型都隐式地实现了Shape接口。
2023-12-12 16:17:49 1402
原创 一文入门 UUID
UUID代表,译为全局一标识符。它是一种由软件构建的标准化身份验证方案,用于确保跨多个上下文中的对象都具有唯一性。UUID在各种系统之间确保了严格的唯一性,因此即使在大型分布式环境中,也能确保不会出现冲突。UUID包含128位(16字节)的数据,通常为32个字符。时间戳低位版本号时间戳中位时间戳高位钟序列节点ID(通常为MAC地址)版本1:基于时间和机器的MAC地址生成。可能会泄露机器MAC地址。版本2。
2023-12-12 16:09:59 680
原创 有基础转Go语言学习笔记(2. 基本数据结构篇)
定义一个Map这里定义了一个键为string类型,值为int类型的映射。初始化使用make初始化带有值的Map使用type和struct关键字定义结构体。Age int这里定义了一个PersonName和Age。结构体是Go中处理复杂数据的基石,允许将相关的数据组合在一起。通过使用结构体和其方法,Go语言提供了一种简单而强大的方式来表示和操作复杂的数据结构。
2023-12-06 01:18:20 1350
原创 有基础转Go语言学习笔记(1. 基本语法篇)
包是代码组织的基本单位,用于划分和封装逻辑。模块是一种更高级的机制,用于管理包及其依赖,包括版本控制。在实际应用中,通常会有一个模块包含多个包。模块为这些包提供了一个统一的版本管理和依赖解析框架。
2023-12-06 01:17:17 1484 1
原创 [LeetCode] 12. 整数转罗马数字
罗马数字包含以下七种字符:IVXLCD和M。例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为XII。27 写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为IX。IVXXLCCDM给你一个整数,将其转为罗马数字。
2023-12-06 01:15:57 1059
原创 [LeetCode] 15. 三数之和
给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。**注意:**答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。
2023-12-06 01:15:23 958
原创 [LeetCode] 167. 两数之和 II - 输入有序数组
给你一个下标从开始的整数数组numbers,该数组已按 ** 非递减顺序排列 **,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是和numbers[2],则。以长度为 2 的整数数组的形式返回这两个整数的下标index1和index2。你可以假设每个输入,而且你重复使用相同的元素。你所设计的解决方案必须只使用常量级的额外空间。27[1,2]2 与 7 之和等于目标数 9。因此 index= 1, index= 2。返回 [1, 2]。2,3,4。
2023-12-06 01:14:41 437
原创 [教程] 一文进阶Redis
Redis 的过期时间(Expire)功能是一种数据生命周期管理机制,允许为键设置一个过期时间。一旦达到该时间,键会自动被删除。这对于管理缓存数据特别有用,可以自动清理不再需要的数据,从而节省空间。
2023-11-29 23:01:39 1274 1
原创 【教程】 一文部署配置并入门 Redis
Redis官网——:由于其高速读写能力,Redis 非常适合用作缓存系统,减少数据库负载。(Session Store):Redis 可以存储用户会话信息,常用于网站登录系统。:利用其发布/订阅模式,Redis 可作为消息队列使用,用于异步处理任务。:Redis 的速度使其成为实时数据处理的理想选择,如计数器、实时统计等。:使用 Redis 的排序集合,可以高效实现排行榜功能。:Redis 提供地理空间相关的数据结构,可以用于地理位置相关功能。
2023-11-29 22:59:33 1468
原创 [LeetCode] 380. O(1) 时间插入、删除、获取随机元素
实现valtruefalsevaltruefalse你必须实现类的所有函数,并满足每个函数的时间复杂度为O(1)。// 向集合中插入 1。返回 true 表示 1 被成功地插入。// 返回 false ,表示集合中不存在 2。// 向集合中插入 2。返回 true。集合现在包含[1,2]。// getRandom 应随机返回 1 或 2。// 从集合中移除 1 ,返回 true。集合现在包含[2]。// 2 已在集合中,所以返回 false。
2023-11-28 23:52:11 1116
原创 LeetCode 274. H指数——排序
给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h 次。如果 h 有多种可能的值,h 指数 是其中最大的那个。示例 1:输入:citations = [3,0,6,1,5]输出:3。
2023-11-26 13:15:54 377 1
原创 LeetCode 219. 存在重复元素 II ——哈希表+滑动窗口
给你一个整数数组nums和一个整数k,判断数组中是否存在两个i和j,满足且。如果存在,返回true;否则,返回false。**输入:**nums = [1,2,3,1], k = 3**输出:**true**输入:**nums = [1,0,1,1], k = 1**输出:**true**输入:**nums = [1,2,3,1,2,3], k = 2**输出:**false。
2023-11-26 12:54:03 371 1
原创 LeetCode 55. 跳跃游戏 & 45. 跳跃游戏II——贪心算法
给你一个非负整数数组nums,你最初位于数组的。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。**输入:**nums = [2,3,1,1,4]**输出:**true**解释:**可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。**输入:**nums = [3,2,1,0,4]**输出:**false**解释:**无论怎样,总会到达下标为 3 的位置。
2023-11-26 12:53:07 1476 1
原创 LeetCode 106. 从中序与后序遍历序列构造二叉树——数据结构
给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。**输入:**inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]**输入:**inorder = [-1], postorder = [-1][-1]postorderpostorderinorderinorderpostorder。
2023-11-26 12:51:44 910 1
原创 LeetCode 73. 矩阵置零
提示给定一个_m_ x _n_的矩阵,如果一个元素为,则将其所在行和列的所有元素都设为。请使用算法**。****输入:**matrix = [[1,1,1],[1,0,1],[1,1,1]]**输入:**matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]O(_m__n_)
2023-11-26 12:50:48 518 1
原创 LeetCode 121. 买卖股票的最佳时机——动态规划
*解释:**在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。这个问题是一个典型的动态规划问题,可以通过维护一些状态变量来解决。问题的关键是要找到最小的买入价格和最大的卖出利润。同时,你不能在买入前卖出股票。空间复杂度是 O(1),因为只使用了有限的额外空间。**解释:**在这种情况下, 没有交易完成, 所以最大利润为 0。设计一个算法来计算你所能获取的最大利润。**输入:**prices = [7,6,4,3,1]
2023-11-26 12:49:36 416 1
原创 【算法题解】LeetCode169.多数元素——摩尔投票算法
Boyer-Moore 投票算法的基本思想是每次从序列中选择两个不同的元素将它们从序列中删除,直到删除完所有的元素或者剩下的元素都相同。这个算法基于一个事实:如果一个数是序列的众数,那么在执行完这样的操作后,最后剩下的数仍然是那个众数。针对进阶要求,我们可以使用 Boyer-Moore 投票算法,该算法的时间复杂度为 O(n),空间复杂度为 O(1)。这段代码遍历数组一次,时间复杂度为 O(n),只使用了有限的额外空间(几个变量),空间复杂度为 O(1),满足进阶要求。,返回其中的多数元素。
2023-11-26 12:48:24 415 1
原创 千万别把OpenMP和OpenMPI搞混了!
OpenMP适合单机多核心的并行编程,主要针对共享内存模型,易于将现有代码并行化。OpenMPI适合跨多台机器的大规模并行计算,用于分布式内存模型,适合大规模、复杂的并行任务。两者可以结合使用,实现更高效和强大的并行计算能力。
2023-11-26 12:39:13 1651 1
原创 【ASP.NET Core】MVC中ViewData和ViewBag的区别和使用
在 ASP.NET MVC 中,ViewBag和ViewData都是用来传递数据从控制器到视图的机制。尽管它们在功能上很相似,但在使用方式上有一些差别。ViewBagdynamicViewBag在视图中访问:
2023-11-24 20:28:40 1158 1
原创 深入解析 JWT(JSON Web Tokens):原理、应用场景与安全实践
JWT(JSON Web Tokens)是一种开放标准(RFC 7519),用于在各方之间安全地传输信息作为 JSON 对象。由于其小巧和自包含的特性,它在 Web 应用程序和服务之间尤其流行用于身份验证和信息交换。一个 JWT 实际上是将 header、payload 和 signature 三部分分别进行 Base64 编码,然后用点(。在 Web 应用和 API 身份验证中,JWT 的使用非常普遍。例如,用户登录到系统后,系统会创建一个 JWT,并将其发送回用户。
2023-11-23 23:52:47 3990 1
原创 Ubuntu 22 系统中设置 RAID 配置并将 SATA SSD 作为读取缓存
Ubuntu 22 系统中设置 RAID 配置并将 SATA SSD 作为读取缓存,同时挂载到/home目录。
2023-11-18 22:10:40 1241 1
原创 C to C#笔记
该笔记是本人在大一暑假期间为了开发桌面软件,学习C#的笔记。写时已有些许Java和C++基础,所以部分知识点略过。仅作为个人留档使用学习时基本参考视频 《C#语言入门详解》https://youtube.com/playlist?list=PLZX6sKChTg8GQxnABqxYGX2zLs4Hfa4Ca...
2022-06-15 16:22:09 260
原创 【AC】 P1540 [NOIP2010 提高组] 机器翻译 from luogu
题目描述nn 个人围成一圈,从第一个人开始报数,数到 mm 的人出列,再由下一个人重新从 11 开始报数,数到 mm 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。注意:本题和《深入浅出-基础篇》上例题的表述稍有不同。书上表述是给出淘汰 n-1 名小朋友,而该题是全部出圈。输入格式输入两个整数 n,mn,m。输出格式输出一行 nn 个整数,按顺序输出每个出圈人的编号。样例输入10 3样例输出3 6 9 2 7 1 8 5 10 4AC代码#include &l
2022-04-12 15:46:20 1143
原创 B. Absent Remainder
题目B. Absent Remaindertime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a sequence ????1,????2,…,???????? consisting of ???? pairwise distinct positive integers.Find ⌊????/2⌋ different
2021-12-02 18:39:03 609
原创 A. Long Comparison
题目:A. Long Comparisontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputMonocarp wrote down two numbers on a whiteboard. Both numbers follow a specific format: a positive integer ???? with ???? zeros
2021-12-02 15:15:28 651 1
原创 【优化算法期末作业】蚁群算法初步尝试
蚁群算法初步尝试#include <iostream>using namespace std;static int road[3][3];static int pheromone[3][3];void printLine();int Random(int start, int end); // 随机数函数class Ant{ // 蚂蚁public: int distance = 0; int roadChoose[3] = {-1, -1, -1};
2021-11-16 12:20:29 535
原创 LeetCode刷题笔记Day2——7.整数反转
2.整数反转(原题号7)题干给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0提示:-231 <= x <= 231 -
2021-11-03 08:15:40 188
原创 LeetCode刷题笔记Day1——9.回文数
LeetCode 刷题笔记(Day1)1.回文数(原题号9)给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解
2021-11-02 21:38:06 1585
原创 习题10-2 递归求阶乘和 (15 分)
习题10-2 递归求阶乘和 (15 分)本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。函数接口定义:double fact( int n );double factsum( int n );函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+…+n! 的值。题目保证输入输出在双精度范围内。裁判测试程序样例:#include <stdio.h>double fact( int n );double
2021-10-20 15:47:45 141
原创 习题10-1 判断满足条件的三位数 (15 分)
习题10-1 判断满足条件的三位数 (15 分)本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。函数接口定义:int search( int n );其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101, n]区间内所有满足条件的数的个数。裁判测试程序样例:#include <stdio.h>#include <math.h>int search( int n );in
2021-10-20 15:39:32 699
空空如也
事件可否理解成调用函数的函数?
2022-06-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人