自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 收藏
  • 关注

原创 C语言中getchar() 和 putchar() 的用法

C语言中getchar() 和 putchar() 的用法getchar() 和 putchar() 是一对字符输入/输出函数.getchar()不带任何参数,他从输入序列中返回下一个字符。例如,下面的语句读取下一个字符输入,并把该字符的值赋给变量ch:ch = getcha();putchar()函数打印它的参数。例如,下面的语句把之前赋给ch的值作为字符打印出来:putchar(ch);由于这两个函数只处理字符,所以他们通常比scanf() 和printf() 函数更快更便捷。而且,ge

2020-06-12 11:17:44 79635 20

原创 【项目问题】CO2管网能耗

我们发现查询单井按时间段的流量AND?非常频繁。于是我们创建了这样一个复合索引。当执行上述查询时,MySQL可以直接在这个索引里找到满足条件的well_id和,并且直接从索引里获取flow_rate,不需要再去查聚簇索引(主表),大大减少了I/O操作,因此查询速度显著提升。我们通过工具查看执行计划,确认查询确实使用了该索引,并且Extra列显示了,证明了覆盖索引生效。

2025-04-09 17:56:14 695

原创 【项目问题】在线考试系统

A: “Spring Cloud Gateway 是我们系统的 API 网关,核心功能是请求路由。我们根据请求路径将流量转发到后端的微服务,例如 /api/user/** 的请求会被路由到用户服务。除了基本的路由,我们还实现了一个自定义的全局过滤器 (Global Filter) 来处理统一认证。这个过滤器会拦截所有(或指定路径下的)请求,从请求头中提取 JWT 令牌,进行校验;验证通过后,解析出用户信息(如用户ID、角色),并存储在 ThreadLocal 中,方便后续业务逻辑使用。

2025-04-09 15:16:28 1064

原创 【项目面试】

在传统的基于会话和Cookie的身份验证方式中,会话信息通常存储在服务器的内存或数据库中。但在集群部署中,不同服务器之间没有共享的会话信息,这会导致用户在不同服务器之间切换时需要重新登录,或者需要引入额外的共享机制(如Redis),增加了复杂性和性能开销。而JWT令牌通过在令牌中包含所有必要的身份验证和会话信息,使得服务器无需存储会话信息,从而解决了集群部署中的身份验证和会话管理问题。当用户进行登录认证后,服务器将生成一个JWT令牌并返回给客户端。

2025-03-16 21:02:04 778

原创 【论文】Semantic Captioning: Benchmark Dataset and Graph-Aware Few-Shot In-Context Learning for SQL2Text

语义解析(Semantic Parsing)、大语言模型(LLMs)、SQL 代码解释(SQL2Text)进行 ICL 示例选择,以提高小型 LLMs 在 SQL 语义描述任务上的表现。: 研究 SQL 查询的自然语言描述(SQL2Text),并提出基于。,提升 LLM 在 SQL 代码解释中的能力。,为低计算成本的 SQL 代码理解提供了新思路。方法,以提高小型 LLMs 的生成质量。的 SQL2Text 生成方法,并利用。

2025-03-15 21:08:59 605

原创 【排序算法对比】快速排序、归并排序、堆排序

排序算法对比:快速排序、归并排序、堆排序

2025-03-15 21:01:25 753

原创 【LeetCode Hot100 总结目录】

总结目录

2025-03-15 12:01:07 197

原创 【LeetCode Hot100 二叉树(下)】二叉搜索树中第K小的元素、二叉树的右视图、二叉树展开为链表、从前序与中序遍历序列构造二叉树、路径总和 III、二叉树的最近公共祖先、二叉树中的最大路径和

【LeetCode Hot100 二叉树(下)】二叉搜索树中第K小的元素、二叉树的右视图、二叉树展开为链表、从前序与中序遍历序列构造二叉树、路径总和 III、二叉树的最近公共祖先、二叉树中的最大路径和

2025-03-15 10:49:50 31

原创 【Java 面试 八股文】计算机网络篇

HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于客户端(浏览器)和服务器之间通信的协议,主要用于传输网页数据,如HTML、CSS、JavaScript以及API请求等。它是无状态的,即每个请求都是独立的,服务器不会记录之前的请求信息。HTTP 和 HTTPS 的区别:1. 安全性:HTTP:数据是明文传输的,容易被中间人攻击、窃听和篡改。HTTPS:使用SSL/TLS(安全套接层/传输层安全协议)加密数据,提高数据的机密性和完整性,防止信息被窃取或篡改。

2025-03-10 19:56:08 1047

原创 【Java 面试 八股文】JVM 虚拟机篇

线程私有的,内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。javap -verbose xx.class 打印堆栈大小,局部变量的数量和方法的参数。难易程度:☆☆☆出现频率:☆☆☆☆线程共享的区域:Java堆 (Heap) 是Java虛拟机中内存管理的一个重要区域,主要用于存放对象实例和数组。当堆中没有内存空间可分配给实例,也无法再扩展时,则抛出OutOfMemoryError异常。

2025-02-23 17:40:38 1838

原创 【LeetCode Hot100 二叉树(上)】二叉树的中序遍历、二叉树的最大深度、翻转二叉树、对称二叉树、二叉树的直径、二叉树的层序遍历、将有序数组转换为二叉搜索树、验证二叉搜索树

直径是二叉树中任意两个节点之间的路径长度,路径长度是指路径上边的节点数。

2025-02-23 10:48:45 1058

原创 【LeetCode Hot100 链表(下)】 删除链表中的倒数第 N 个节点、两两交换链表中的节点、K个一组反转链表、随机链表的复制、排序链表、合并 K 个升序链表、LRU 缓存

LRU 缓存的核心思想是,当缓存达到最大容量时,移除最久未使用的元素(即链表尾部的元素),并将最近使用的元素移到链表头部。给定一个链表,将链表中的每k个节点一组进行反转,并返回反转后的链表。合并所有链表,并返回合并后的升序链表。给定一个链表,交换每两个相邻的节点,并返回链表的头节点。在这个实现中,我们使用了一个双向链表和一个哈希表(给定一个链表,要求你返回排序后的链表。给定一个链表,删除链表的倒数第。指针,指向链表中的某个节点或。个节点,并返回链表的头节点。给定一个链表,每个节点除了有。

2025-02-19 19:57:09 1057

原创 【Java 面试 八股文】并发编程篇

是多线程中的队列同步器(AbstractQueuedSynchronizer)。是一种锁机制,它是做为一个基础框架使用的,像ReentrantLock、Semaphore都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储的排队的线程在AQS内部还有一个属性state,这个state就相当于是一个资源,默认是0 (无锁状态),如果队列中的有一个线程修改成功了state为1,则当前线程就相等于获取了资源在对state修改的时候使用的 CAS 操作,保证多个线程修改的情况下原子性。

2025-02-18 16:48:23 1189

原创 【LeetCode Hot100 链表(上)】相交链表、反转链表、回文链表、环形链表、合并两个有序链表、两数相加

确定较长链表的起始位置,使得两个链表的剩余部分长度相同。通过让较长链表先走长度差步,保证两个链表在相同的“距离剩余部分”的起点上对齐。将这两个数相加,返回一个新的链表表示它们的和。:同步遍历两个链表,如果它们的当前节点相同,则返回该节点作为交点。,判断该链表是否为回文链表。给定一个链表,如果链表中存在环,返回环的起始节点;,请编写一个函数来反转该链表,并返回反转后的链表。,将它们合并成一个有序链表,并返回新的链表。:首先,遍历两个链表,分别计算它们的长度。,按顺序将它们的节点加入到新链表中。

2025-02-18 10:03:17 861

原创 【LeetCode Hot100 矩阵】矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵II

给定一个 的矩阵 ,如果一个元素是 0,则将其所在的整行和整列都设置为 0。你需要 原地 修改输入矩阵,不能 使用额外的矩阵。要实现原地修改矩阵,可以借助矩阵的第一行和第一列作为辅助存储,记录哪些行和列需要被置零。检查第一行和第一列是否包含零:遍历矩阵:根据标记置零:处理第一行和第一列:2. 螺旋矩阵(Spiral Matrix)给定一个 的矩阵,按螺旋顺序返回矩阵中的所有元素。我们可以模拟螺旋遍历的过程,使用四个边界来控制当前遍历的范围。随着遍历的进行,逐步缩小这些边界,直到遍历完成整个矩阵。定义

2025-02-16 17:11:29 918

原创 【Java 面试 八股文】常见集合篇

首先获取key的hashCode值,然后右移16位 异或运算 原来的hashCode值,主要作用就是使原来的hash值更加均匀,减少hash冲突。在putVal方法中,有一个hash(key)方法,这个方法就是来去计算key的hash值的,看下面的代码。在添加或删除节点的时候,如果不符合这些性质会发生旋转,以达到所有的性质,保证红黑树的平衡。(n-1)&hash : 得到数组中的索引,代替取模,性能更好,数组长度必须是2的n次幂。性质5:从任一节点到叶子节点的所有路径都包含相同数目的黑色节点。

2025-02-16 11:46:06 1005

原创 【Java 面试 八股文】Spring Cloud 篇

候选人:创建一个类实现IRule接口,这将定义全局的负载均衡策略。在客户端配置文件中指定特定服务调用的负载均衡策略,这将仅对该服务生效。候选人:服务雪崩是指一个服务的失败导致整个链路的服务相继失败。服务降级:在请求量突增时,主动降低服务的级别,确保核心服务可用。服务熔断:当服务调用失败率达到一定阈值时,熔断机制会启动,防止系统过载。

2025-02-15 20:37:08 1235

原创 【LeetCode Hot100 普通数组】最大子数组和、合并区间、旋转数组、除自身以外数组的乘积、缺失的第一个正整数

【LeetCode Hot100 普通数组】最大子数组和、合并区间、旋转数组、除自身以外数组的乘积、缺失的第一个正整数

2025-02-15 17:56:31 721

原创 【LeetCode Hot100 子串】和为 k 的子数组、滑动窗口最大值、最小覆盖子串

给定一个整数数组 和一个整数 ,你需要在数组中找到连续子数组的个数,使得这些子数组的和等于 。我们可以通过 前缀和 的方法来高效解决这个问题,结合 哈希表 来记录每个前缀和出现的次数,从而迅速计算出满足条件的子数组。前缀和的定义:如何利用哈希表:核心算法:初始化:遍历数组:返回结果:2. 滑动窗口最大值题目描述给定一个整数数组 和一个滑动窗口的大小 ,请你在数组中找出每个滑动窗口的最大值,并返回一个数组。这道题目是一个典型的滑动窗口问题。直接暴力计算每个窗口中的最大值的时间复杂度是 ,这种做法在数

2025-02-13 18:12:48 1176

原创 【Java 面试 八股文】框架篇

AOP,即面向切面编程,在Spring中用于将那些与业务无关但对多个对象产生影响的公共行为和逻辑抽取出来,实现公共模块复用,降低耦合。常见的应用场景包括公共日志保存和事务处理。

2025-02-13 11:23:01 756

原创 【LeetCode Hot100 滑动窗口】无重复字符的最长子串、找到字符串中所有字母异位词

【LeetCode Hot100 滑动窗口】无重复字符的最长子串、找到字符串中所有字母异位词

2025-02-12 11:35:37 889

原创 【LeetCode Hot100 双指针】移动零、盛最多水的容器、三数之和、接雨水

【LeetCode Hot100 双指针】移动零、盛最多水的容器、三数之和、接雨水

2025-02-11 21:57:22 729

原创 【Java 面试 八股文】MySQL 篇

索引在项目中非常常见,它是一种帮助MySQL高效获取数据的数据结构,主要用来提高数据检索效率,降低数据库的I/O成本。同时,索引列可以对数据进行排序,降低数据排序的成本,也能减少CPU的消耗。聚簇索引(聚集索引)是指数据与索引放在一起,B+树的叶子节点保存了整行数据,通常只有一个聚簇索引,一般是由主键构成。非聚簇索引(二级索引)则是数据与索引分开存储B+树的叶子节点保存的是主键值,可以有多个非聚簇索引,通常我们自定义的索引都是非聚簇索引。

2025-02-11 17:23:49 1366

原创 【LeetCode Hot100 哈希】两数之和、字母异位词分组、最长连续序列

【LeetCode Hot100 哈希】两数之和、字母异位词分组、最长连续序列

2025-02-11 10:36:10 975

原创 【Java 面试 八股文】Redis篇

缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都会用缓存空对象或者布隆过滤器来解决它。缓存空对象优点:实现简单,维护方便缺点:额外的内存消耗,可能造成短期的不一致布隆过滤优点:内存占用较少,没有多余key缺点:实现复杂,存在误判可能(有穿透的风险),无法删除数据。

2025-02-10 20:45:23 2502 2

原创 【LeetCode Hot100 技巧型题目】只出现一次的元素、多数元素、颜色分类、下一个排列、寻找重复数

【LeetCode Hot100 技巧型题目】只出现一次的元素、多数元素、颜色分类、下一个排列、寻找重复数

2025-02-10 11:22:15 1074

原创 【LeetCode Hot100 堆】第 K 大的元素、前 K 个高频元素

【LeetCode Hot100 堆】第 K 大的元素、前 K 个高频元素

2025-02-09 17:09:37 1025

原创 【LeetCode Hot100 栈】有效的括号、最小栈、解码字符串

【LeetCode Hot100 栈】有效的括号、最小栈、解码字符串

2025-02-09 12:04:41 1098

原创 【LeetCode Hot100 多维动态规划】最小路径和、最长回文子串、最长公共子序列、编辑距离

【LeetCode Hot100 多维动态规划】最小路径和、最长回文子串、最长公共子序列、编辑距离

2025-02-09 10:17:28 925

原创 【LeetCode Hot100 动态规划】爬楼梯、打家劫舍、分割等和子集、零钱兑换、完全平方数、零钱兑换II、组合总和IV、单词拆分、最长递增子序列、乘积最大子数组

放物品 i:背包空出物品 i 的容量后,背包容量为 j - weight[i],dp[i - 1][j - weight[i]] 为背包容量为 j - weight[i] 且不放物品 i 的最大价值,那么 dp[i - 1][j - weight[i]] + value[i] (物品i的价值),就是背包放物品 i 得到的最大价值。递归公式: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);

2025-02-08 16:03:09 710

原创 【LeetCode Hot100 贪心算法】 买卖股票的最佳时机、跳跃游戏、划分字母区间

LeetCode Hot100 贪心算法: 买卖股票的最佳时机、跳跃游戏、划分字母区间

2025-01-08 15:03:00 2014

原创 【LeetCode Hot100 二分查找】搜索插入位置、搜索二维矩阵、搜索旋转排序数组、寻找两个正序数组的中位数

LeetCode Hot100 二分查找经典题目总结

2025-01-02 16:49:51 1345

原创 【LeetCode Hot100 回溯】组合、排列、子集、分割、N皇后、单词搜索、括号生成、电话号码的字母组合

回溯算法的应用总结

2024-12-29 21:14:42 976

原创 滑动窗口 + 哈希表 解决最小覆盖子串问题

【代码】滑动窗口 + 哈希表 解决最小覆盖子串问题。

2024-11-07 16:41:12 279

原创 在排序数组中查找元素的第一个和最后一个位置

两种解法,第一种是我做的时候的解法,第二种是我看题解当中一个比较容易理解的做法。第一种,一次二分法,然后从mid开始往两边找边界,注意数组的临界值情况。第二种两次二分法,分别查找左边界和有边界,比较好理解。

2024-10-24 17:14:25 326

原创 Chat2VIS: Generating Data Visualizations via Natural Language

数据可视化领域一直致力于设计直接从自然语言文本生成可视化的解决方案。自然语言接口 (NLI) 的研究为这些技术的发展做出了贡献。然而,由于自然语言固有的模糊性,以及不明确和编写不良的用户查询,使得现有语言模型在识别用户意图方面存在问题,因此实现可行的 NLI 一直具有挑战性。本研究并没有遵循开发语言模型新迭代的常规路径,而是独特地提出利用预训练大型语言模型(LLM)的进步,如 ChatGPT 和 GPT-3,将自由形式的自然语言直接转换为代码,以实现适当的可视化。

2024-09-20 10:06:19 1529 1

原创 通过微调预训练模型得到自己的模型

在这篇博客中,我们将介绍如何通过预训练模型进行微调来得到自己的模型。我们将使用Hugging Face的Transformers库和一个BART模型进行示例演示。整个过程包括环境准备、数据准备、模型加载、数据预处理、训练参数设置、训练、评估和保存模型。

2024-08-28 15:11:06 604 1

原创 【论文阅读】Automated Data Visualization from Natural Language via Large Language Models

自然语言到可视化(NL2Vis)任务旨在将自然语言描述转换为基础表的可视化表示,使用户能够从大量数据中获得洞察力。最近,针对NL2Vis开发了许多基于深度学习的方法。尽管这些方法做出了相当大的努力,但在可视化来自未见过的数据库或跨多个表的数据方面仍然存在挑战。从大型语言模型(llm)卓越的生成能力中获得灵感,本文进行了一项实证研究,以评估它们在生成可视化方面的潜力,并探索上下文学习提示对增强这一任务的有效性。

2024-05-21 11:12:49 1056 1

原创 《最优化方法》复习笔记

2024-04-22 12:59:32 513

原创 【论文阅读】通过组件对齐评估和改进 text-to-SQL 的组合泛化

在 text-to-SQL 任务中,正如在许多 NLP 中一样,组合泛化是一个重大挑战:神经网络在训练和测试分布不同的情况下难以实现组合泛化。然而,最近改进这一点的尝试都是基于单词级合成数据或特定数据集分割来生成组合偏差。在这项工作中,我们提出了一种子句级组合示例生成方法。我们首先将Spider文本转SQL数据集中的句子拆分为子句子,用相应的SQL子句注释每个子句子,从而得到一个新的数据集Spider-SS。

2024-03-20 09:46:22 2084 1

空空如也

空空如也

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

TA关注的人

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