avatar
文章
224
标签
10
分类
10
首页
归档
标签
分类
关于
Logo技术博客
搜索
首页
归档
标签
分类
关于

技术博客

LeetCode128-最长连续序列
发表于2025-07-19|算法|算法
题目给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。 示例 2: 输入:nums = [0,3,7,2,5,8,4,6,0,1] 输出:9 示例 3: 输入:nums = [1,0,1,2] 输出:3 提示: 0 <= nums.length <= 105 -109 <= nums[i] <= 109 分析1. 初步思考与暴力解法最直观的想法是,对于数组中的每一个数 x,我们都去尝试寻找 x+1, x+2, x+3, … 是否存在于数组中,直到找不到为止,以此来确定以 x 开头的连续序列的长度。然后我们遍历所有数字,找出最长的那个长度。 这个方法需要两层循环:外层循环遍历每个数字 x,内层循环则去数组中查找 x+1, x+2 等。在未排序的数组中查找一个元素的时间复杂度是...
LeetCode49-字母异位词分组
发表于2025-07-19|算法|算法
题目给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 示例 1: 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [["bat"],["nat","tan"],["ate","eat","tea"]] 解释: 在 strs 中没有字符串可以通过重新排列来形成 “bat”。 字符串 “nat” 和 “tan” 是字母异位词,因为它们可以重新排列以形成彼此。 字符串 “ate” ,”eat” 和 “tea” 是字母异位词,因为它们可以重新排列以形成彼此。 示例 2: 输入: strs = [""] 输出: [[""]] 示例 3: 输入: strs = ["a"] 输出:...
LeetCode1-两数之和
发表于2025-07-19|算法|算法
题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3,2,4], target = 6 输出:[1,2] 示例 3: 输入:nums = [3,3], target = 6 输出:[0,1] 提示: 2 <= nums.length <= 104 -109 <= nums[i] <= 109 -109 <= target <= 109 只会存在一个有效答案 分析这道题的目标非常明确:在一个整数数组中,找到两个数,使它们的和等于一个给定的目标值...
为 code-server 配置 HTTPS 安全访问指南
发表于2025-07-18|杂货小铺|杂货小铺
为什么需要 HTTPS?默认情况下,code-server 通过 HTTP 协议提供服务,所有传输数据(包括密码、代码文件等敏感信息)均以明文传输,存在被中间人攻击窃取的风险。HTTPS 通过 SSL/TLS 加密通信,可有效防止数据泄露和篡改,是生产环境必备的安全措施。 完整配置步骤1️⃣ 获取 SSL 证书推荐使用阿里云免费 SSL 证书(每年 20 个免费额度): 登录 阿里云 SSL 证书控制台 申请免费 DV 证书,完成域名验证 证书签发后,选择「下载」证书,类型选择 Apache 2️⃣ 准备证书文件下载的压缩包包含三个关键文件: 123your_domain.key # 私钥文件your_domain_public.crt # 公钥证书your_domain_chain.crt # 证书链 3️⃣ 创建证书目录在服务器上创建专用目录存放证书: 1mkdir -p...
负数之谜:从补码溢出看Java整数计算的陷阱
发表于2025-07-17|计科基础|计科基础
负数之谜:从补码溢出看Java整数计算的陷阱问题现象:意外的负值在Java开发中,我们有时会遇到一些反直觉的整数计算结果。观察以下代码片段: 12345678910public static void main(String[] args) { int i = 0; int j = Integer.MAX_VALUE - 1; // 2147483646 int m = (i + j) / 2; System.out.printf("m: %d%n", m); // 输出: m: 1073741823 i = m + 1; // i = 1073741824 m = (i + j) / 2; System.out.printf("m: %d%n", m); // 输出: m:...
深入计算机底层:彻底搞懂原码、反码和补码
发表于2025-07-17|计科基础|计科基础
引言:计算机如何理解正负?你是否曾好奇,由无数0和1构成的计算机,是如何精确地表示和计算我们日常生活中的数字,尤其是像-20这样的负数?这个问题的答案,隐藏在计算机科学最基础、也最重要的一个知识点中——编码。 为了让只能理解高低电平(即0和1)的电路能够处理带有“+”、“-”符号的整数,科学家们设计了一套精妙的编码体系。这其中,原码、反码和补码就是理解这套体系的三把关键钥匙。 本文将带你深入计算机的底层视角,不仅告诉你它们“是什么”,更会解释“为什么”需要它们,并手把手教你如何进行手动转换。读完本文,你将对计算机如何存储和运算数字有一个全新的、更为深刻的认识。 第一站:原码 (Sign-Magnitude) - 最直观的尝试原码是最符合人类直觉的一种表示法。它将一个二进制数分为两部分:符号位和数值位。 规则:在一个特定位数(例如8位)的二进制数中,最高位作为符号位(0代表正数,1代表负数),其余位则表示该数绝对值的二进制形式。 我们以8位系统为例: +7的原码 符号:正数,符号位为 0。 数值:7 的二进制是...
二进制与十进制转换手算指南
发表于2025-07-17|计科基础|计科基础
在计算机科学的世界中,二进制(0和1)是计算机的”母语”,而十进制(0-9)则是人类的自然计数方式。理解它们之间的转换原理不仅是计算机科学的基础,也是理解数字系统本质的关键。本文将详细教授两种转换的手算方法,让你无需计算器即可轻松完成。 一、核心概念:理解两种进制系统 十进制(Decimal): 使用10个基本数字:0,1,2,3,4,5,6,7,8,9 位权原理:每位的权重是10的幂次方(… 10³=1000, 10²=100, 10¹=10, 10⁰=1) 示例:123 = 1×100 + 2×10 + 3×1 二进制(Binary): 仅使用两个数字:0和1 位权原理:每位的权重是2的幂次方(… 2³=8, 2²=4, 2¹=2, 2⁰=1) 示例:1011 = 1×8 + 0×4 + 1×2 + 1×1 = 11(十进制) 二、二进制转十进制:加权求和法转换步骤: 从右向左编号:最右边为第0位,向左依次增加 计算每位权重:第n位的权重...
八个数学点助你 LeetCode 高效刷题
发表于2025-07-16|算法|算法
还在为 LeetCode 上的数学题头疼吗?许多算法问题的根基,其实就藏在我们曾经学过的数学里。本文将为你系统梳理 8 个在算法面试中至关重要的数学知识点,从复杂度分析到数论技巧,助你扫清障碍,高效刷题。 引言:你的代码里,藏着数学的影子你是否也曾有过这样的经历:在 LeetCode 上遇到一道中等难度的题目,绞尽脑汁,却发现最优解的思路竟然源于一个看似简单却被遗忘的数学公式? 算法与数学,本就是一对密不可分的兄弟。尤其是在以 LeetCode 为代表的编程面试中,许多问题的考察点,并非是多么高深的算法理论,而是能否灵活运用基础的数学知识来分析问题、优化代码。 好消息是,你并不需要成为数学家才能攻克这些题目。大多数时候,我们需要的仅仅是那些躺在课本里、既熟悉又陌生的知识点。本文将带你重拾这些“神兵利器”,让你在算法的世界里如虎添翼。 一、万丈高楼平地起:复杂度分析与基本数列这两部分是你分析和理解算法效率的基石。 1. 对数 ($O(\log n)$) 与指数...
Flink on k8s:并行度资源相关配置最佳实践
发表于2025-07-15|大数据|大数据
引言:Flink on K8s并行度配置的重要性Apache Flink作为业界领先的流处理引擎,在实时数据处理领域占据核心地位,其高性能和低延迟特性使其成为众多企业构建实时数据管道的首选。与此同时,Kubernetes作为云原生容器编排平台的普及,使得将Flink作业部署到K8s环境成为主流趋势。这种结合不仅提供了强大的资源管理和弹性伸缩能力,也带来了新的配置挑战。 在Kubernetes环境下部署Flink时,并行度配置不再是简单的参数调整,它直接关系到作业的性能、资源利用率、集群稳定性以及最终的运营成本。不合理的并行度配置可能导致资源浪费、性能瓶颈,甚至引发Kubernetes集群异常。例如,过多的TaskManager Pods可能给Kubernetes API...
搭建企业级Maven私服:Nexus3快速指南
发表于2025-07-12|杂货小铺|杂货小铺
在软件开发中,Maven私服是不可或缺的工具,它能有效管理项目依赖、加速构建过程、统一团队内部组件发布,并提升安全性。本文将详细指导您如何快速安装Nexus Repository Manager 3,并配置常用的仓库类型及Maven客户端,实现高效的内部依赖管理和构件发布。 Nexus3环境准备我们将使用Docker Compose来部署Nexus3,这能提供极大的便利性和环境隔离。 1.1. 克隆项目仓库 首先,从GitHub克隆包含Nexus3 Docker Compose配置的仓库。 123# 如果在国内访问GitHub较慢,可以考虑使用Gitee镜像地址:# git clone https://gitee.com/liboshuai01/docker-stack.gitgit clone https://github.com/liboshuai01/docker-stack 1.2. 进入Nexus3目录 克隆完成后,进入docker-stack/nexus3目录。 1cd docker-stack/nexus3 1.3. 准备环境变量文件 复制...
1…567…23
avatar
李博帅
文章
224
标签
10
分类
10
Follow Me
公告
记录自己的学习成长
最新文章
Debian 13 安装 Docker 与最佳配置2026-01-27
Java并发-为什么要区分不同线程池而不使用统一的大线程池2026-01-26
Java并发-彻底搞懂 CompletableFuture 的线程切换规则2026-01-26
Debian 13 开发环境系统优化指南2026-01-23
Flink1.18.1本地idea源码调试环境搭建2026-01-23
分类
  • java51
  • 前端1
  • 大数据24
  • 容器化43
  • 杂货小铺18
  • 环境搭建15
  • 监控预警7
  • 算法8
标签
容器化 杂货小铺 java 监控预警 大数据 前端 计科基础 算法 运维手册 环境搭建
归档
  • 一月 2026 14
  • 十二月 2025 3
  • 十一月 2025 10
  • 十月 2025 1
  • 八月 2025 16
  • 七月 2025 19
  • 六月 2025 22
  • 五月 2025 11
网站信息
文章数目 :
224
运行时间 :
本站总字数 :
388.6k
最后更新时间 :
©2022 - 2026 By 李博帅
框架 Hexo 7.3.0|主题 Butterfly 5.3.5

豫ICP备2025118913号

搜索
数据加载中