最小栈
要点:stack【int【】】,里面放的数组,int\[\]{value, premin}
java
class MinStack {
//
Deque<int[]> stack = new ArrayDeque<>();
public MinStack() {
stack.push(new int[]{0,Integer.MAX_VALUE});
}
public void push(int value) {
stack.push(new int[]{value,Math.min(value,getMin())});
}
public void pop() {
stack.pop();
}
public int top() {
return stack.peek()[0];
}
public int getMin() {
return stack.peek()[1];
}
}
/**
* Your MinStack object will be instantiated and called as such:
* MinStack obj = new MinStack();
* obj.push(value);
* obj.pop();
* int param_3 = obj.top();
* int param_4 = obj.getMin();
*/
逆波兰表达式求值
要点:模拟
java
class Solution {
public int evalRPN(String[] tokens) {
int ans = 0;
Deque<Integer> stack = new ArrayDeque<>();
for(String s: tokens){
if(s.length() > 1){
stack.push(Integer.parseInt(s));
continue;
}
char token = s.charAt(0);
if(token == '+' || token == '-' || token == '*' || token == '/'){
int b = stack.pop();
int a = stack.pop();
int c = -1;
if(token == '+'){
c =a+b;
}else if(token == '-'){
c = a -b;
}else if(token == '*'){
c =a*b;
}else if(token == '/'){
c = a/b;
}
//ans+=c;
stack.push(c);
}else{
//Integer.parseInt(s)
stack.push(Integer.parseInt(s));
}
}
return stack.peek();
}
}
基本计算器
要点:记录整个数字之前的num和符号,遇到()就入栈计算
java
class Solution {
public int calculate(String s) {
Deque<Integer> stack = new ArrayDeque<>();
int sign = 1;
int result = 0;
int num = 0;
for(int i = 0; i < s.length(); i++){
char c = s.charAt(i);
if(c >= '0' && c <= '9'){
num = num*10 + (c - '0');
}else if(c == '+'){
result += sign*num;
sign = 1;
num=0;
}else if(c == '-'){
result += sign*num;
sign = -1;
num = 0;
}else if( c == '('){
stack.push(result);
stack.push(sign);
result = 0;
sign = 1;
}else if(c ==')'){
result += sign*num;
num = 0;
int presign = stack.pop();
int preres = stack.pop();
result = preres + presign*result;
}
}
result += sign * num;
return result;
}
}
随机知识
大厂AI Coding通关笔记(提示词模板+Spec完整释义)
一、核心概念:Spec 详解(编码必备)
1. 定义
Spec = Specification 规格/技术契约/需求说明书
是无歧义、结构化、带硬性约束的技术实现规范,是AI编码、开发、联调、测试的唯一标准答案。
2. 编程场景核心含义
-
接口Spec:请求方式、路径、入参(类型/必填/范围)、出参结构、错误码、异常格式
-
功能Spec:做什么、不做什么、边界条件、性能指标、兼容要求
-
测试Spec:测试场景、边界用例、异常用例、预期输出
3. 普通需求 VS 标准Spec(大厂扣分关键点)
-
普通需求:口语化、模糊、无约束(例:写一个登录接口)
-
标准Spec:结构化、全覆盖、无歧义、含性能/边界/规范约束
4. AI Coding中的Spec组成
提示词中这三部分 = 完整代码Spec: 1. 核心业务需求 2. 全部硬性约束 3. 严格输入输出规范
大厂评分核心:代码必须100%遵循Spec,不满足即扣分
二、AI Coding提示词标准编写5步法(大厂通用)
所有编码任务必须按此顺序编写,缺一直接不合格
步骤1:身份定位(拉高输出工业级标准)
指定大厂资深工程师身份,拒绝教学Demo、玩具代码
步骤2:明确核心需求(拆分两块)
-
业务功能:场景、用途、输入来源
-
算法/技术目标:数据量级、核心逻辑、性能预期
步骤3:填写硬性约束(最核心得分点)
技术栈、性能复杂度、边界异常、编码规范、安全扩展性
步骤4:结构化输入输出定义(Spec核心)
参数类型、取值范围、样例输入、正常/异常输出格式
步骤5:固定交付物清单
源码+注释+测试用例+复杂度+优化方案+风险说明
三、通用万能顶级提示词模板(可直接复制使用)
【角色定位】 你是拥有10年一线大厂开发经验的资深工程师,精通{编程语言},熟悉工业级项目编码规范、高性能算法、并发安全、线上容错处理,输出代码严格符合国内头部互联网生产标准,拒绝简化教学demo,所有逻辑必须适配真实线上场景。 【核心需求(Spec业务)】 1. 业务功能: 2. 算法/技术目标: 3. 业务场景与数据量级: 【硬性约束条件(Spec规则)】 1. 技术栈:仅使用{指定语言/框架/依赖},禁止废弃API与冷门库 2. 性能约束:时间复杂度最优,控制内存占用,支持{量级}数据,避免超时、OOM 3. 边界异常:全覆盖空值、极值、重复数据、参数非法、IO异常、并发冲突、服务降级 4. 编码规范:语义化命名、抽取常量、无硬编码、单一职责、分层解耦、标准注释 5. 扩展性:核心逻辑解耦,支持后续迭代扩展 【输入输出规范(Spec契约)】 输入:参数类型、字段、取值范围、样例输入 输出:正常返回结构、错误码+错误信息、样例输出 【强制交付物(缺一不可)】 1. 完整可直接运行源码,无省略、无伪代码 2. 全量中英文注释(函数、参数、核心逻辑、边界处理) 3. 5组以上测试用例:常规、边界、极值、异常、批量数据 4. 时间/空间复杂度完整推导 5. 代码优缺点分析 + 两套优化方案 6. 线上风险、并发坑点、部署注意事项 7. 专家Code Review问题复盘与修复方案 【输出格式】 先需求拆解分析 → 再完整源码 → 测试用例 → 复杂度 → 优化方案 → CR报告
四、三大高频场景精简模板
1. 算法刷题/LeetCode模板
【角色】大厂算法工程师,只输出全局最优解,拒绝暴力解法 【题目】粘贴原题 【约束】适配题目数据上限,全覆盖边界用例,保证AC无超时 【交付】解题思路+最优代码+复杂度推导+多组测试用例+优劣对比
2. 后端业务接口模板
【角色】大厂后端高级开发,熟悉微服务、全局异常、参数校验、并发安全 【需求】实现XX业务接口 【约束】统一返回体、JSR303校验、缓存击穿/并发超卖处理、异常兜底 【交付】完整分层代码+单元测试+并发方案+接口调用示例
3. 自动化脚本/工具类模板
【角色】大厂全栈开发,擅长高性能、低内存、兼容多环境脚本 【约束】流式处理防OOM、全异常捕获、兼容Windows/Linux 【交付】完整脚本+参数说明+测试案例+内存优化方案
五、高分进阶修饰词(必加,拉开差距)
-
禁止简化逻辑、禁止省略边界、禁止伪代码、禁止"此处省略"
-
严格遵循大厂Code Review标准,无内存泄漏、无循环引用、无硬编码
-
优先最优解,不输出低效暴力方案
-
适配高并发、大数据量线上真实场景
六、大厂AI Coding核心总结
-
Prompt本质就是写一份完整代码Spec
-
Spec不全 = AI代码缺边界、缺性能、缺规范 = 测试低分
-
标准流程:定身份 - 写需求 - 加约束 - 定IO - 定交付
-
最终目标:输出可上线工业级代码,而非教学Demo
碎碎念:后续会更新每天学习的八股和算法 题,开始准备秋招的第40天。努力连续更新100天!以后每天就按,秋招项目【java +agent】,科研,必做项目,算法,八股,锻炼身体来总结。
总结:aicoding半天
1.算法面试150 78/150【晚】 1h
2.秋招项目,【java 项目】,【修改,2h】
【agent 项目 】,【x修改,2h】
3.科研要跑一下,无
4.检测项目,准备数据集
6.背八股,无
7.锻炼身体,
反思:放假一天,每天认真干活