力扣每日打卡 1534. 统计好三元组 (简单)
力扣 1534. 统计好三元组 简单
- 前言
- 一、题目内容
- 二、解题方法
- 1. 暴力解法
- 2.官方题解
- 2.1 方法一:枚举
- 2.2 方法二:枚举优化
前言
这是刷算法题的第十二天,用到的语言是JS
题目:力扣 1534. 统计好三元组 (简单)
一、题目内容
给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。
如果三元组 ( a r r [ i ] , a r r [ j ] , a r r [ k ] ) (arr[i], arr[j], arr[k]) (arr[i],arr[j],arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。
- 0 < = i < j < k < a r r . l e n g t h 0 <= i < j < k < arr.length 0<=i<j<k<arr.length
- ∣ a r r [ i ] − a r r [ j ] ∣ < = a |arr[i] - arr[j]| <= a ∣arr[i]−arr[j]∣<=a
- ∣ a r r [ j ] − a r r [ k ] ∣ < = b |arr[j] - arr[k]| <= b ∣arr[j]−arr[k]∣<=b
- ∣ a r r [ i ] − a r r [ k ] ∣ < = c |arr[i] - arr[k]| <= c ∣arr[i]−arr[k]∣<=c
其中 ∣ x ∣ |x| ∣x∣ 表示 x x x 的绝对值。
返回 好三元组的数量 。
示例 1:
输入:arr = [3,0,1,1,9,7], a = 7, b = 2, c = 3
输出:4
解释:一共有 4 个好三元组:[(3,0,1), (3,0,1), (3,1,1), (0,1,1)] 。
示例 2:
输入:arr = [1,1,2,2,3], a = 0, b = 0, c = 1
输出:0
解释:不存在满足所有条件的三元组。
提示:
- 3 < = a r r . l e n g t h < = 100 3 <= arr.length <= 100 3<=arr.length<=100
- 0 < = a r r [ i ] < = 1000 0 <= arr[i] <= 1000 0<=arr[i]<=1000
- 0 < = a , b , c < = 1000 0 <= a, b, c <= 1000 0<=a,b,c<=1000
二、解题方法
1. 暴力解法
三重for循环
代码如下(实例):
/*** @param {number[]} arr* @param {number} a* @param {number} b* @param {number} c* @return {number}*/
var countGoodTriplets = function (arr, a, b, c) {// 暴力算法let count = 0for (let i = 0; i < arr.length; i++) for (let j = i + 1; j < arr.length; j++) for (let k = j + 1; k < arr.length; k++) if (Math.abs(arr[i] - arr[j]) <= a && Math.abs(arr[j] - arr[k]) <= b && Math.abs(arr[i] - arr[k]) <= c) count++return count
}
2.官方题解
2.1 方法一:枚举
思路与算法
用 O ( n 3 ) O(n^3) O(n3) 的循环依次枚举所有的 ( i , j , k ) (i,j,k) (i,j,k),这里 0 ≤ i < j < k < a r r . l e n g t h 0≤i<j<k<arr.length 0≤i<j<k<arr.length,对于每组 ( i , j , k ) (i,j,k) (i,j,k),判断 a r r [ i ] 、 a r r [ j ] 、 a r r [ k ] arr[i]、arr[j]、arr[k] arr[i]、arr[j]、arr[k] 是否满足条件。
最终统计出所有满足条件的三元组的数量。
代码如下(示例):
var countGoodTriplets = function(arr, a, b, c) {const n = arr.length;let cnt = 0;for (let i = 0; i < n; ++i) {for (let j = i + 1; j < n; ++j) {for (let k = j + 1; k < n; ++k) {if (Math.abs(arr[i] - arr[j]) <= a && Math.abs(arr[j] - arr[k]) <= b && Math.abs(arr[i] - arr[k]) <= c) {++cnt;}}}}return cnt;
};作者:力扣官方题解
链接:https://leetcode.cn/problems/count-good-triplets/solutions/371340/tong-ji-hao-san-yuan-zu-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 复杂度分析:
- 时间复杂度: O ( n 3 ) O(n^3) O(n3),其中 n n n 是数组 a r r arr arr 的长度。
- 空间复杂度: O ( 1 ) O(1) O(1)
链接:力扣本题官方题解
来源:力扣(LeetCode)
2.2 方法二:枚举优化
思路与算法
我们考虑 O ( n 2 ) O(n^2) O(n2) 枚举满足 ∣ a r r [ j ] − a r r [ k ] ∣ ≤ b ∣arr[j]−arr[k]∣≤b ∣arr[j]−arr[k]∣≤b 的二元组 ( j , k ) (j,k) (j,k),统计这个二元组下有多少 i i i 满足条件。由题目已知 i i i 的限制条件为 ∣ a r r [ i ] − a r r [ j ] ∣ ≤ a ∣arr[i]−arr[j]∣≤a ∣arr[i]−arr[j]∣≤a && ∣ a r r [ i ] − a r r [ k ] ∣ ≤ c ∣arr[i]−arr[k]∣≤c ∣arr[i]−arr[k]∣≤c,我们可以拆开绝对值,得到符合条件的值一定是 [ a r r [ j ] − a , a r r [ j ] + a ] [arr[j]−a,arr[j]+a] [arr[j]−a,arr[j]+a] 和 [ a r r [ k ] − c , a r r [ k ] + c ] [arr[k]−c,arr[k]+c] [arr[k]−c,arr[k]+c] 两个区间的交集,我们记为 [ l , r ] [l,r] [l,r]。因此,在枚举 ( j , k ) (j,k) (j,k) 这个二元组的时候,我们只需要快速统计出满足 i < j i<j i<j 且 a r r [ i ] arr[i] arr[i] 的值域范围在 [ l , r ] [l,r] [l,r] 的 i i i 的个数即可。
很容易想到维护一个 a r r [ i ] arr[i] arr[i] 频次数组的前缀和 s u m sum sum,对于一个二元组 ( j , k ) (j,k) (j,k),我们可以 O ( 1 ) O(1) O(1) 得到答案为 s u m [ r ] − s u m [ l − 1 ] sum[r]−sum[l−1] sum[r]−sum[l−1]。考虑怎么维护保证当前频次数组存的数的下标符合 i < j i<j i<j 的限制,我们只要从小到大枚举 j j j,每次 j j j 移动指针加一的时候,将 a r r [ j ] arr[j] arr[j] 的值更新到 s u m sum sum 数组中即可,这样能保证枚举到 j j j 的时候 s u m sum sum 数组里存的值的下标满足限制。
「将 a r r [ j ] arr[j] arr[j] 的值更新到 s u m sum sum 数组中」这个操作在本方法中是暴力更新,因为数组的值域上限很小,有能力的读者可以考虑怎么在进一步优化这一部分的复杂度,可以从离散化或者树状数组的角度考虑,这里不再赘述。
代码如下(示例):
var countGoodTriplets = function(arr, a, b, c) {const n = arr.length, sum = new Array(1001).fill(0);let ans = 0;for (let j = 0; j < n; ++j) {for (let k = j + 1; k < n; ++k) {if (Math.abs(arr[j] - arr[k]) <= b) {const lj = arr[j] - a, rj = arr[j] + a;const lk = arr[k] - c, rk = arr[k] + c;const l = Math.max(0, Math.max(lj, lk)), r = Math.min(1000, Math.min(rj, rk));if (l <= r) {if (l === 0) {ans += sum[r];}else {ans += sum[r] - sum[l - 1];}}}}for (let k = arr[j]; k <= 1000; ++k) {sum[k] += 1;}}return ans;
};作者:力扣官方题解
链接:https://leetcode.cn/problems/count-good-triplets/solutions/371340/tong-ji-hao-san-yuan-zu-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 复杂度分析:
- 时间复杂度: O ( n 2 + n S ) O(n^2+nS) O(n2+nS),其中 n n n 是数组 a r r arr arr 的长度, S S S 为数组的值域上限,这里为 1000 1000 1000。
- 空间复杂度: O ( S ) O(S) O(S)。我们需要 O ( S ) O(S) O(S) 的空间维护 a r r [ i ] arr[i] arr[i] 频次数组的前缀和。
链接:力扣本题官方题解
来源:力扣(LeetCode)
相关文章:
力扣每日打卡 1534. 统计好三元组 (简单)
力扣 1534. 统计好三元组 简单 前言一、题目内容二、解题方法1. 暴力解法2.官方题解2.1 方法一:枚举2.2 方法二:枚举优化 前言 这是刷算法题的第十二天,用到的语言是JS 题目:力扣 1534. 统计好三元组 (简单) 一、题目内容 给你一…...
CExercise_13_1排序算法_1插入排序
题目: 请自己手动实现插入排序算法: // 插入排序 void insertion_sort(int arr[], int len); 然后给定一个int数组,实现将它从小到大进行排序。 关键点 分析: 在插入排序中,稳定性指的是排序算法能够保持相等元素的原始…...
图论--DFS搜索图/树
目录 一、图的存储结构 二、题目练习 846. 树的重心 - AcWing题 dfs,之前学习的回溯算法好多都是用dfs实现搜索的(把题目抽象成树形结构来搜索),其实 回溯算法就是 深搜,只不过针对某一搜索场景 我们给他一个更细分…...
blender 超逼真角色daz 纹理材质 humanpro插件
https://www.youtube.com/KhanhVo-zp9lh/featured https://superhivemarket.com/products/humanpro https://superhivemarket.com/products/humanpro HUMANPRO 插件 - BLENDER HumanPro 是一款专为帮助用户轻松快速地创建高度精细逼真的人体皮肤纹理和复杂皱纹而设计的插件…...
关于响应式编程框架ReactiveUI的感悟
1.我第一个接触的MVVM框架是Caliburn Micro,后来接触到了ReactiveUI这种响应式编程思想的框架,主要说一下本人目前学习感想(针对尽快上手使用MVVM开发WPF); 首当其冲的工具是DeepSeek,总结好问题直接提问&…...
Swift —— delegate 设计模式
一、什么是 delegate 模式 所谓 delegate 就是代理模式。简单来说,delegate 模式就是在类的函数里运行完一段代码后,你可以通过一个符合某个代理协议的属性来调代理的方法。其中,代理方法就是回调函数。 二、delegate 模式与闭包比的优势 …...
远方游子的归家记:模仿美食网页的制作与实现
前言 2023年的夏天,闲得无聊学了一个礼拜前端知识点。并根据所学知识点模仿制作了一篇网络上公开发布的关于家乡美食的文章。今天才想到有这个不错的案例可以分享出来,以供大家学习参考。 知识点简介 运用的知识点比较简单,常规的div盒子&…...
React JSX?
JSX JSX 是 JavaScript XML 的缩写,它是一种 JavaScript 的语法扩展,允许你在 JavaScript 中写 HTML 类似的代码,常用于 React 中定义 UI 组件的结构。 JSX 示例代码: import React from react;function App() {return (<di…...
【Pandas】pandas DataFrame iterrows
Pandas2.2 DataFrame Indexing, iteration 方法描述DataFrame.head([n])用于返回 DataFrame 的前几行DataFrame.at快速访问和修改 DataFrame 中单个值的方法DataFrame.iat快速访问和修改 DataFrame 中单个值的方法DataFrame.loc用于基于标签(行标签和列标签&#…...
docker多架构镜像构建
docker多架构镜像构建 Docker 多架构镜像构建(Multi-Architecture Image Build)允许你为不同平台(如 linux/amd64, linux/arm64, linux/arm/v7 等)构建和推送统一的镜像标签,解决在不同硬件架构之间部署的问题。 Doc…...
日志查询 Less命令:/搜索
跟more命令一样,唯一不同的是less命令可以向上翻页,但是more命令不行 注意:按空格或F -- 进行翻页; 按回车 -- 一行一行往下翻; 按q或Q – 表示退出 Page up:一页一页向上翻; 向上键:一行一行…...
[MySQL] 事务管理(一) 事务的基本概念
1.为什么需要事务 1.1 CURD不加控制会有什么问题 我认为要解决上面的问题,CURD必须要有以下的属性 买票的过程必须是原子的 买票相互之间不可以收到影响 买完票需要永久有效 买前,买后的状态必须是确定的 2. 什么是事务? 事务就是一组DML语…...
rk3588 驱动开发(一)字符设备开发
3.字符设备驱动开发 3.1 什么是字符设备驱动 字符设备:就是一个个字节,按照字节流进行读写操作的设备,读写是按照先后顺序的。 举例子:IIC 按键 LED SPI LCD 等 Linux 应用程序调用驱动程序流程: Linux中驱动加载成功…...
【第45节】windows程序的其他反调试手段上篇
目录 引言 一、通过窗口类名和窗口名判断 二、检测调试器进程 三、父进程是否是Explorer 四、RDTSC/GetTickCount时间敏感程序段 五、StartupInfo结构的使用 六、使用BeingDebugged字段 七、 PEB.NtGlobalFlag,Heap.HeapFlags,Heap.ForceFlags 八、DebugPort:CheckRem…...
通过人类和机器人演示进行联合逆向和正向动力学的机器人训练
25年3月来自哥伦比亚大学的论文“Train Robots in a JIF: Joint Inverse and Forward Dynamics with Human and Robot Demonstrations”。 在大型机器人演示数据集上进行预训练是学习各种操作技能的强大技术,但通常受到收集以机器人为中心数据的高成本和复杂性限制…...
云渗透三(对象存储攻防)
对象存储是什么? 对象存储(Cloud Object Storage,COS)是腾讯云提供的⼀种存储海量⽂件的分布式存储服务,⽤户可通过⽹络随时存储和查看数据。腾讯云 COS 使所有⽤户都能使⽤具备⾼扩展性、低成本、可靠和安全的数据存储服务。 COS 通过控制台、API、SDK 和⼯具等多样化⽅…...
ShenNiusModularity项目源码学习(17:ShenNius.Admin.Mvc项目分析-2)
ShenNiusModularity项目的后台管理主页面如下图所示,该页面为ShenNius.Admin.Mvc项目的Views\Home\Index.cshtml,使用的是layuimini后台模板(参考文献2),在layuimini的GitHub主页中提供有不同样式的页面模版链接&#…...
Sentinel源码—2.Context和处理链的初始化一
大纲 1.Sentinel底层的核心概念 2.Sentinel中Context的设计思想与源码实现 3.Java SPI机制的引入 4.Java SPI机制在Sentinel处理链中的应用 5.Sentinel默认处理链ProcessorSlot的构建 1.Sentinel底层的核心概念 (1)资源和规则 (2)Context (3)ProcessorSlot (4)Node (1…...
嵌入式C语言高级编程:OOP封装、TDD测试与防御性编程实践
一、面向对象编程(OOP) 尽管 C 语言并非面向对象编程语言,但借助一些编程技巧,也能实现面向对象编程(OOP)的核心特性,如封装、继承和多态。 1.1 封装 封装是把数据和操作数据的函数捆绑在一起,对外部隐藏…...
C++中unique_lock和lock_guard区别
目录 1.自动锁定与解锁机制 2.灵活性 3.所有权转移 4.可与条件变量配合使用 5.性能开销 在 C 中,std::unique_lock 和 std::lock_guard 都属于标准库 <mutex> 中的互斥锁管理工具,用于简化互斥锁的使用并确保线程安全。但它们存在一些显著区别…...
C# 使用.NET内置的 IObservable<T> 和 IObserver<T>-观察者模式
核心概念 IObservable<T> 表示 可观察的数据源(如事件流、实时数据)。 关键方法:Subscribe(IObserver<T> observer),用于注册观察者。 IObserver<T> 表示 数据的接收者,响应数据变化。 三个核心…...
多模态大模型文字识别 vs OCR识别模型
论文简述 多模态大语言模型(Multimodal Large Language Models,简称多模态LLMs)具有高度通用性,能够处理图像描述、文档分析和自动化内容生成等多种任务。这种广泛的适用性使其在不同工业领域都受到了大量关注。 在OCR方面,多模态LLMs的表现超过了专门为OCR设计的模型。这…...
[区块链] 持久化运行区块链 | 并通过HTTP访问
实验目标 以Web服务的形式持久化运行区块链,并通过HTTP接口的形式实现对区块链的操作。 实验内容 构建区块链的区块对象和区块链对象。使用Flask等Web服务框架运行持久化的进程,实现基于HTTP接口实现新区块的添加功能以及传递区块索引查询区块链中的区…...
批量将不同位置的多个文件复制到一个文件夹
在日常工作中,我们常常需要将多个位置的文件集中到一个文件夹中。手动一个个复制文件既费时又容易出错。使用批量文件复制工具,您可以轻松将不同位置的多个文件快速复制到一个文件夹中,大大提高工作效率。 今天给大家介绍一下批量将不同位置的…...
CentOS 下 Zookeeper 常用命令与完整命令列表
一、服务管理命令 常用服务命令 启动 Zookeeper 服务: systemctl start zookeeper # 使用 systemd (推荐) /usr/local/zookeeper/bin/zkServer.sh start # 直接启动 停止服务: systemctl stop zookeeper /usr/local/zookeeper/bin/zkServer.sh stop 查看服务状态…...
React与Vue:哪个框架更适合入门?
React与Vue:选择哪个框架入门? 一、框架定位与发展趋势 1.1 技术背景对比 React:Meta(原Facebook)2013年推出,采用声明式编程范式,专注构建用户界面Vue:尤雨溪2014年推出…...
突发!GitHub 被曝封禁中国区 IP
昨天,大量国内开发者发现,未登录状态下访问GitHub官网时,页面显示“Access to this site has been restricted.”,中国大陆及香港IP均被限制。尽管GitHub官方尚未发布声明,但多方实测显示: 猪哥亲测在已登…...
向量数据库Qdrant 安装 不使用docker
一、导读 环境:Ubuntu 24.04、Windows 10、WSL 2、Qdrant 1.13.4 背景:换了新工作,使用qdrant作为向量库,需要不使用docker安装 时间:20250415 说明:初入职,不了解,暂且记下 二、…...
基于坐标的神经表示实现零样本学习以用于快速三维多参数定量磁共振成像|文献速递-深度学习医疗AI最新文献
Title 题目 Coordinate-based neural representation enabling zero-shot learning for fast 3D multiparametric quantitative MRI 基于坐标的神经表示实现零样本学习以用于快速三维多参数定量磁共振成像 01 文献速递介绍 定量磁共振成像(qMRI)能…...
每日算法-250415
每日算法 - 2024-04-15: 今天我们来解决两道 LeetCode 上关于在旋转排序数组中寻找最小值的问题。 153. 寻找旋转排序数组中的最小值 题目描述 思路 核心思想是利用 二分查找。 解题过程 一个升序排序的数组(无重复元素)在经过若干次旋转后…...
第16届蓝桥杯省赛JavaB组真题回顾
第16届蓝桥杯省赛已经结束了,第一次参加也是坐牢了4个小时,现在还是来总结一下吧(先声明以下的解法,大家可以当作一种思路来看,解法不一定是正解,只是给大家提供一种能够正常想到的思路吧) 试题…...
[Godot] C#人物移动抖动解决方案
在写一个2D平台跳跃的游戏代码发现,移动的时候会抖动卡顿的厉害,后来研究了一下抖动问题,有了几种解决方案 1.垂直同步和物理插值问题 这是最常见的可能导致画面撕裂和抖动的原因,大家可以根据自己的需要调整项目设置࿰…...
hackmyvm-quick2
收集信息 arp-scan -l nmap 192.168.66.74 dirsearch -u http://192.168.66.74 -e * 访问file.php 尝试查看/etc/passwd 抓包 payload: /file.php?file=/home/andrew/.bashrc /file.php?file=/home/nick/.bashrc...
TDengine 与其他时序数据库对比:InfluxDB/TimescaleDB 选型指南(一)
引言 在当今数字化时代,物联网(IoT)、工业互联网等领域蓬勃发展,产生了海量的时序数据。这些数据记录了设备状态、传感器读数、业务指标等随时间变化的信息,对于企业的运营监控、数据分析和决策制定起着关键作用。为了…...
Jetson agx Orin 适配Xenomai4
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、Xenomai 4 二、使用步骤 1.获取源码 2.编译源码 3、安装 4、运行效果 5、libevl 总结 前言 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了…...
Terraform - 理解 Count 和 For_Each 循环
概述 使用 Terraform 时,您可能需要为同一资源创建多个实例。这时 count 和 for_each 循环就派上用场了。这些循环允许您创建具有相同配置但具有不同值的多个资源。本指南将讲解如何在 Terraform 中使用 count 和 for_each 循环。 Terraform 中的 Count Terraform …...
Git本地更新和远端同步操作
1、将远端文件夹拉取到本地 从0—1:克隆 在文件夹空白处点击:Git克隆 输入url,克隆到本地 输入远端文件地址,点击确定,远端文件即可克隆到本地 2、拉取远端更新到本地 文件克隆到本地后,每次更新需…...
激活函数Softmax在不同维度上的应用 | dim参数理解
理解 Softmax 在不同维度上的应用,关键在于明确 Softmax 的作用以及 dim 参数的意义。Softmax 的目标是将输入张量的某些元素转换为概率分布,使得这些元素的和为1。dim 参数决定了沿着哪个维度进行归一化操作。 1. Softmax 的基本原理 Softmax 函数的公…...
地理人工智能中位置编码的综述:方法与应用
以下是对论文 《A Review of Location Encoding for GeoAI: Methods and Applications》 的大纲和摘要整理: A Review of Location Encoding for GeoAI: Methods and Applications 摘要(Summary) 本文系统综述了地理人工智能(G…...
6.DJI-PSDK:psdk订阅无人机高度/速度/GPS/RTK/时间/经纬度等消息及问题解决
DJI-PSDK:psdk订阅无人机高度/速度/GPS/RTK/时间/经纬度等消息 消息订阅可以获取绝大多数无人机的动态信息,包括无人机的姿态、速度、加速度、角速度、高度、GPS 位置、云 台的角度和状态、飞行模式和飞行状态、电机和电池等各类关键信息。 这些信息并不会“一股脑儿地”全部…...
ArrayList的subList的数据仍是集合
ArrayList的subList结果不可强转成ArrayList,否则会抛出 ClassCastException异常 • 级别: 【CRITICAL】 • 规约类型:BUG • 最坏影响: 程序错误,抛出异常 说明:subList 返回的是ArrayList的内部类SubL…...
VS Code怎么换颜色
在 VS Code 中,你可以通过修改主题或自定义编辑器颜色来将界面改为白色。以下是几种方法: 方法 1:切换浅色主题(推荐) VS Code 自带多个浅色主题,可以直接切换: 按快捷键 Ctrl K,…...
jupyter中切换Anaconda虚拟环境
jupyter中切换虚拟环境 查看python路径 import sys sys.executable这个命令会输出当前 Notebook 使用的 Python 可执行文件的路径 2. 查看安装的包和环境信息(前两步都在jupyter notebook中进行) !which python !python --version !pip list将你的虚拟…...
红帽认证 Linux安全 级别
红帽认证体系将安全能力划分为专项技能认证与架构师路径,覆盖从基础加固到企业级安全架构设计。以下是安全相关认证的级别、核心内容及职业定位: 一、红帽安全认证分级与定位 认证名称级别考试代码核心方向考试难度适用人群Red Hat Certif…...
从服务器多线程批量下载文件到本地
1、客户端安装 aria2 下载地址:aria2 解压文件,然后将文件目录添加到系统环境变量Path中,然后打开cmd,输入:aria2c 文件地址,就可以下载文件了 2、服务端配置nginx文件服务器 server {listen 8080…...
WPF 中的元素继承层次结构 ,以下是对图中内容的详细说明:
顶层基类 DispatcherObject:处于继承体系最顶端,是一个抽象类。它为 WPF 元素提供了与 Dispatcher(调度器)交互的能力,Dispatcher 负责管理线程间的消息传递,确保 UI 操作在正确的线程(通常是 …...
ROS IkFast运动学插件
ikFast运动学插件生成 环境安装ROS依赖安装openrave依赖下载依赖代码工具使用urdf转dae设置精度查看模型关节生成代码生成插件 环境 ubuntu 20.04ROS版本:noetic 安装ROS依赖 sudo apt-get install -y ros-noetic-desktop ros-noetic-collada-urdf ros-noetic-mov…...
Flink Hive Catalog最佳实践
Flink Hive Catalog 最佳实践 一、配置与初始化 依赖管理 Hive Connector 版本对齐:需确保 flink-sql-connector-hive 版本与 Hive 版本严格匹配(如 Hive 3.1.3 对应 flink-sql-connector-hive-3.1.3_2.12),同时添加 Hadoop 遮蔽…...
接口测试之postman使用指南
一、为何使用postman postman是一款简单高效的接口测试工具,能够很方便发送接口请求,易于保存接口请求脚本,postman提供接口响应数据比对功能,可以设置预期结果作断言,还能把测试用例放在一个集合中批量执行ÿ…...
小豆包api:支持GPT-4.1全新系列模型api,纯官逆向可用!
今天凌晨,OpenAI正式发布GPT-4.1系列模型,带来标准版GPT-4.1,更轻量快速GPT-4.1 mini和极致性价比的GPT-4.1 nano三款模型,全面超越GPT-4o,更聪明、更便宜。 小豆包api已全面支持GPT-4.1全新系列模型! 与前…...