Prompt(提示词)定义Prompt 是用户给 AI 的指令——用自然语言告诉它要做什么,是控制 AI 输出的基础工具。
例子
“帮我写一段 Java 代码,实现用户登录校验。”
“用小学生能听懂的话解释 JVM。”
“假设你是 Java 架构师,帮我设计一个高可用订单系统。”
核心特点
本质是一次性的自然语言指令或可复用的模板。
质量决定输出质量:清晰的 prompt 带来精准结...
34. 在排序数组中查找元素的第一个和最后一个位置最优解法时间复杂度 O(logn),空间复杂度 O(1)
答案所在范围使用左闭右开区间 [left,right)(取不到 right,所以是开区间),为了使区间不为空,循环条件应为 left<right。
如果 nums[mid]>=target,令 right=mid [left,mid),可得 nums[right]>...
209. 长度最小的子数组最优解法时间复杂度 O(n)(左指针和右指针各移动 n),空间复杂度 O(1)
right 从左到右移动,当 sum-nums[left]>=target 时,left 循环向左移动,且 sum-=nums[left]如果 sum>=target 符合条件,则判断是否需要更新答案。注意:right-left+1 是子数组长度
123456789101...
11. 盛最多水的容器最优解法时间复杂度:O(n),空间复杂度:O(1)
左指针指向 height[left] (left=0),右指针指向 height[right] (right=len-1),哪条边矮,则将该条边向内侧移动,看是否有更大值(因为如果有更大值,那么一定不会由矮边构成)。
优化点:如果矮边内侧的边比矮边还矮,就继续向内移动并循环判断
12345678...
167. 两数之和 II - 输入有序数组用获取信息量来衡量一个算法的效率
暴力解法**时间复杂度:O(n^2)**,没有利用数据有序的信息
最优解法时间复杂度:O(n),空间复杂度:O(1)
根据当前指针两个元素相加值判断指针移动,每次判断能得到 n 个信息(大于说明左指针右侧的值都不行,小于说明右指针左侧的值都不行)。
1234567891011121314151617/** * @...
Codes in lesson7
User 命令详解( swap_base_input & swap_base_output)swap_base_input(基于输入数量的代币交换)src/instructions/lib.rs:
1234567pub fn swap_base_input( ctx: Context<Swap>, amou...
Codes in lesson7
User 命令详解(initialize & deposit & withdraw)initialize(创建流动池)src/instructions/lib.rs:
12345678pub fn initialize( ctx: Context<Initialize>, init_amount_0...
Codes in lesson7
Admin 命令详解create_amm_config(创建 AMM 配置)src/instructions/lib.rs:
12345678910111213141516171819202122232425pub fn create_amm_config( ctx: Context<CreateAmmConfig>, ...
Codes in lesson7
AMM 原理 - 代币在 AMM(自动做市商)池中,token_0、token_1 和 LP 这三种代币构成了流动性池的核心经济模型:
graph TD
A[代币类型] --> B[交易代币]
A --> C[流动性代币]
B --> D[token_0]
B --> E[token_1]
C --> F[LP代币]
...
Codes in lesson6.1
Codes in lesson6.2
功能实现
关注
取消关注
查询关注列表
发帖
查询发帖