7个技巧突破AI编程工具限制实现高效使用

核心内容摘要

看完就会:研究生专属AI论文平台,千笔·专业论文写作工具 VS 云笔AI
收藏备用!程序员转行大模型实战指南:从认知到落地全攻略

AI 员工系列 Vol.2

目录标题

题目1

题目2

三、

总结

题目

有一个类 Pair含有两个成员 a 和 b如果两个 Pair 对象的 a 和 b 都相等则认为这两个对象相等。

Datapublic class Pair {Integer a;Integer b;}有两个 List, List l1, List l2, 写一个函数求这两个 List 的交集即返回这两个List 当中相同的元素放在一个集合中返回。

注意请尽量写准确清晰按照可执行的 Java代码写我的答案publicsetPairfn(ListPairl1,ListPairl

{setPairresultSetnewHashSet();l

stream().map(item{for(Pairinner:l

{//Integer转换比较可能有误if(inner.getA().equals(item.getA())iner.getB().equals(item.getB()){resultSet.add(inner);}}})returnresultSet;}AI修正后代码importjava.util.*;importjava.util.stream.Collectors;publicSetPairfn(ListPairl1,ListPairl

{SetPairresultSetnewHashSet();for(Pairp1:l

{for(Pairp2:l

{if(p

getA().equals(p

getA())p

getB().equals(p

getB())){resultSet.add(p

;// 可以添加p1或p2因为它们相等break;// 找到后跳出内层循环}}}returnresultSet;}标准答案(把我的原来的方法效率是O(n²)使用HashSet可以优化到O(n)。

)使用Stream API的简洁写法publicSetPairfn(ListPairl1,ListPairl

{SetPairset1newHashSet(l

;returnl

stream().filter(set1::contains).collect(Collectors.toSet());}注意要使HashSet.contains()正常工作必须在Pair类中正确重写equals()和hashCode()方法DatapublicclassPair{Integera;Integerb;Overridepublicbooleanequals(Objecto){if(thiso)returntrue;if(onull||getClass()!o.getClass())returnfalse;Pairpair(Pair)o;returnObjects.equals(a,pair.a)Objects.equals(b,pair.b);}OverridepublicinthashCode(){returnObjects.hash(a,b);}}

题目2有如下数据库表是学生的各科成绩表格学号 姓名 科目 分数1 张三 语文 801 张三 数学 901 张三 英语 702 李四 语文 602 李四 数学 802 李四 英语 903 王五 语文 703 王五 数学 60 … … … … 问题

撰写建表 SQL 语句建立学生成绩表

撰写查询 SQL 语句输出所有科目平均分大于 80 分的学生

撰写查询 SQL 语句输出语文成绩比数学成绩好的学生我的答案//要加判断或者覆盖create table table{column idvarchar2(

not NULL primary key,Columnnamevarchar2(

defaultnull,Columnsubjectvarchar2(

defaultnull,Columnscorenumber(1000,

defaultnull,}Selectname from(selectsum(score)/3total,t

name from table t1 where subject‘语文’ or subject‘数学’or subject‘英语’ groupBy t

name)t2 where t

total80;Selectname from((select t

score,t

name from table where subject‘语文’)t1 left join(select t

score,t

name from table where subject‘数学’)t

t3 where t

scoret

score;错误分析建表语句答案CREATE TABLE student_score(idVARCHAR2(

NOT NULL, name VARCHAR2(

, subject VARCHAR2(

, score NUMBER(5,

, PRIMARY KEY(id, subject));

输出所有科目平均分大于80分的学生(竟然忘了还有 having avg )SELECT name FROM student_score GROUP BY name HAVING AVG(score)80;

输出语文成绩比数学成绩好的学生SELECT c.name FROM student_score c JOIN student_score m ON c.namem.name WHERE c.subject语文AND m.subject数学AND c.scorem.score;SELECT c.name FROM student_score c LEFT JOIN student_score m ON c.namem.name AND m.subject数学WHERE c.subject语文AND(c.scorem.score OR m.score IS NULL);

三、

总结功能 思路都是正确的但是太复杂在word里面写代码不容易啊(没有提示)菜就得多练

星空mv天美mv梦幻mvapp下载-星空mv天美mv梦幻mvapp下载应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123