摘要: Rabin-Karp算法 Rabin-Karp算法是一种基于哈希函数的字符串匹配算法,由 Michael O. Rabin 和 Richard M. Karp 于1987年提出,核心思想是用哈希函数将模式串和文本串中的子串转换为数值进行比较,避免大量不必要的字符比较。这个算法特别适合多模式串匹配场景 阅读全文
posted @ 2025-12-15 09:00 程序员Seven 阅读(185) 评论(0) 推荐(1)
摘要: 二分查找 二分查找(Binary Search)是一种高效的查找算法,也叫折半查找。核心思想:对于一个有序的数据集合,每次查找都将查找范围缩小为原来的一半,直到找到目标值或确定目标值不存在。二分查找要求数据必须是有序的,经常应用于数组等支持随机访问的数据结构里。跟线性查找相比,二分查找的效率要高得多 阅读全文
posted @ 2025-12-12 09:00 程序员Seven 阅读(172) 评论(0) 推荐(2)
摘要: 题⽬描述 请你来实现⼀个 myAtoi(string s) 函数,使其能将字符串转换成⼀个 32 位有符号整数(类似C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读⼊字符串并丢弃⽆⽤的前导空格 检查下⼀个字符(假设还未到字符末尾)为正还是负号,读取该字符 阅读全文
posted @ 2025-12-11 09:00 程序员Seven 阅读(32) 评论(0) 推荐(0)
摘要: 题⽬描述 写⼀个函数,求两个整数之和,要求在函数体内不得使⽤ + 、 - 、 * 、 / 四则运算符号。 示例1 输⼊:1,2 返回值:3 思路及解答 位运算迭代法(推荐) 将加法分解为「无进位和」+「进位值」,循环直到进位为0 位运算加法的数学原理: 异或运算 (^):实现无进位加法 0^0=0, 阅读全文
posted @ 2025-12-10 09:00 程序员Seven 阅读(31) 评论(0) 推荐(0)
摘要: 题⽬描述 求 1+2+3+...+n ,要求不能使⽤乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字及条件判断语句( A?B:C )。 示例 输⼊:5 输出:15 思路及解答 用for循环 这个问题,如果直接使⽤ for 循环,超级简单,重拳出击,时 阅读全文
posted @ 2025-12-09 09:00 程序员Seven 阅读(36) 评论(0) 推荐(0)
摘要: 引言 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀 阅读全文
posted @ 2025-12-08 09:00 程序员Seven 阅读(244) 评论(0) 推荐(4)
摘要: 概述 树就是一种类似现实生活中的树的数据结构(倒置的树)。任何一颗非空树只有一个根节点。 树的定义:树是⼀种数据结构,它是由n(n≥1)个有限节点组成⼀个具有层次关系的集合。把它叫做“树”是因为它看起来像⼀棵倒挂的树,也就是说它是根朝上,⽽叶朝下的。 一棵树具有以下特点: 每个节点有零个或多个⼦节点 阅读全文
posted @ 2025-12-05 09:00 程序员Seven 阅读(239) 评论(0) 推荐(3)
摘要: 题目描述 有个游戏是这样的:⾸先,让 n 个⼩朋友们围成⼀个⼤圈,⼩朋友们的编号是0~n-1。然后,随机指定⼀个数 m ,让编号为0的⼩朋友开始报数。每次喊到 m-1 的那个⼩朋友要出列唱⾸歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下⼀个⼩朋友开始,继续 0... m-1报数.. 阅读全文
posted @ 2025-12-04 09:00 程序员Seven 阅读(35) 评论(0) 推荐(0)
摘要: 题⽬描述 扑克牌可以组成顺⼦,⼤\⼩ 王可以看成任何数字,并且 A 看作 1 , J 为 11 , Q 为 12 , K 为 13 。 5张牌 【A,0,3,0,5】 就可以变成“ 1,2,3,4,5 ”(⼤⼩王分别看作 2 和 4 ),这样就组成了顺⼦。(可以认为⼤⼩王是 0 。) 输⼊五张牌,如 阅读全文
posted @ 2025-12-03 09:00 程序员Seven 阅读(38) 评论(0) 推荐(0)
摘要: 题⽬描述 给定⼀个句⼦,将句⼦中的单词进⾏翻转,注意,单词内部的字符顺序不改变,改变的是单词与单词之间的顺序,⽐如“ I am a coder. ”,翻转之后变成“ coder. a am I ”。 示例 注意:引号内部才是输⼊的内容 输⼊:"You are a cool boy." 输出:"boy 阅读全文
posted @ 2025-12-02 09:00 程序员Seven 阅读(32) 评论(0) 推荐(0)
摘要: 介绍 像线性数据结构在查找的时候,⼀般都是使⽤= 或者!= ,在折半查找或者其他范围查询的时候,可能会使⽤< 和> ,理想的时候,我们肯定希望不经过任何的⽐较,直接能定位到某个位置(存储位置),这种在数组中,可以通过索引取得元素。那么,如果我们将需要存储的数据和数组的索引对应起来,并且是⼀对⼀的关系 阅读全文
posted @ 2025-12-01 09:00 程序员Seven 阅读(207) 评论(0) 推荐(1)
摘要: 线性表示最常⽤⽽且最为简单的⼀种数据结构,⼀个线性表示 n 个数据元素的有限序列,有以下特点: 存在唯⼀的第⼀个的数据元素 存在唯⼀被称为最后⼀个的数据元素 除了第⼀个以外,集合中每⼀个元素均有⼀个前驱 除了最后⼀个元素之外,集合中的每⼀个数据元素都有⼀个后继元素 线性表包括下⾯⼏种: 数组:查询 阅读全文
posted @ 2025-11-28 09:00 程序员Seven 阅读(137) 评论(0) 推荐(0)
摘要: 题⽬描述 汇编语⾔中有⼀种移位指令叫做循环左移( ROL ),现在有个简单的任务,就是⽤字符串模拟这个指令的运算结果。对于⼀个给定的字符序列 S ,请你把其循环左移 K 位后的序列输出。例如,字符序列S=”abcXYZdef” ,要求输出循环左移3位后的结果,即“ XYZdefabc ”。是不是很简 阅读全文
posted @ 2025-11-27 09:00 程序员Seven 阅读(22) 评论(0) 推荐(0)
摘要: 题⽬描述 输⼊⼀个递增排序的数组和⼀个数字 S ,在数组中查找两个数,使得他们的和正好是 S ,如果有多对数字的和等于 S ,输出两个数的乘积最⼩的。 返回值描述:对应每个测试案例,输出两个数,⼩的先输出。 输⼊:[1,2,4,7,11,15],15 返回值:[4,11] 思路及解答 暴⼒遍历 直接 阅读全文
posted @ 2025-11-26 09:00 程序员Seven 阅读(27) 评论(0) 推荐(0)
摘要: 题⽬描述 ⼩明很喜欢数学,有⼀天他在做数学作业时,要求计算出 9~16 的和,他⻢上就写出了正确答案是 100 。但是他并不满⾜于此,他在想究竟有多少种连续的正数序列的和为 100 (⾄少包括两个数)。没多久,他就得到另⼀组连续正数和为 100 的序列: 18,19,20,21,22 。现在把问题交 阅读全文
posted @ 2025-11-25 09:00 程序员Seven 阅读(31) 评论(0) 推荐(0)
摘要: 服务网关 在微服务架构中,网关的作用是什么 在微服务架构中,网关(Gateway)具有以下作用: 统一入口:网关为所有的微服务提供一个唯一的入口点,从而简化了客户端与服务的交互,同时保障了后台服务的安全性。 鉴权校验:网关能够识别每个进来的请求,并根据其权限进行校验,阻止不符合要求的请求通过。 动态 阅读全文
posted @ 2025-11-24 09:00 程序员Seven 阅读(112) 评论(0) 推荐(1)
摘要: 配置中心 什么是配置中心?有哪些常见的配置中心? 配置中心是一个用于配置集中化管理目支持动态更新、分发配置文件的工具(服务)。 它实现了配置的统一管理和动态同新,当配置信息发生变化时,配置中心可以自动通知服务实例进行配置更新,这样就可以实例无需重启即可应用最新的配置,从一定程度上减少了系统访问的空窗 阅读全文
posted @ 2025-11-21 09:00 程序员Seven 阅读(65) 评论(0) 推荐(1)
摘要: 题⽬描述 ⼀个整型数组⾥除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现⼀次的数字。 示例 输入:[92,3,43,54,92,43,2,2,54,1] 输出:3,1 思路解答 哈希表统计 使⽤ hashmap 存储数字出现的次数, key 为出现的数字, value 为该数字出现 阅读全文
posted @ 2025-11-20 09:00 程序员Seven 阅读(45) 评论(0) 推荐(0)
摘要: 题⽬描述 输⼊⼀棵节点数为 n ⼆叉树,判断该⼆叉树是否是平衡⼆叉树。 在这⾥,我们只需要考虑其平衡性,不需要考虑其是不是排序⼆叉树 平衡⼆叉树( Balanced Binary Tree ),具有以下性质:它是⼀棵空树或它的左右两个⼦树的⾼度差的绝对值不超过 1 ,并且左右两个⼦树都是⼀棵平衡⼆叉 阅读全文
posted @ 2025-11-19 09:00 程序员Seven 阅读(36) 评论(0) 推荐(0)
摘要: 题⽬描述 输⼊⼀棵⼆叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的⼀条路径,最⻓路径的⻓度为树的深度。 示例1 输⼊:{1,2,3,4,5,#,6,#,#,7} 返回值:4 思路及解答 声明:这⾥的输⼊是⼀个数的根节点,也就是从根节点,我们就可以获取到树的所有节点,⽽类似 阅读全文
posted @ 2025-11-18 09:00 程序员Seven 阅读(26) 评论(0) 推荐(0)