- 每日一题——第九十题
互联网打工人no1
C语言程序设计每日一练c语言
题目:判断子串是否与主串匹配#include#include#include//////判断子串是否在主串中匹配//////主串///子串///boolisSubstring(constchar*str,constchar*substr){intlenstr=strlen(str);//计算主串的长度intlenSub=strlen(substr);//计算子串的长度//遍历主字符串,对每个可能得
- C++ | Leetcode C++题解之第409题最长回文串
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intlongestPalindrome(strings){unordered_mapcount;intans=0;for(charc:s)++count[c];for(autop:count){intv=p.second;ans+=v/2*2;if(v%2==1andans%2==0)++ans;}returnans;}};
- LeetCode 673. Number of Longest Increasing Subsequence (Java版; Meidum)
littlehaes
字符串动态规划算法leetcode数据结构
welcometomyblogLeetCode673.NumberofLongestIncreasingSubsequence(Java版;Meidum)题目描述Givenanunsortedarrayofintegers,findthenumberoflongestincreasingsubsequence.Example1:Input:[1,3,5,4,7]Output:2Explanatio
- Codeforces Round 972 (Div. 2) A-C 题解
AKDreamer_HeXY
Codeforces比赛题解c++算法动态规划数据结构贪心算法
本来以为B2难度会1900什么的,结果感觉1200还没有,先做的B1,后悔了QwQ关于我现场没切出C这件事……现场排名:A.SimplePalindrome题意构造一个长度为nnn的字符串,只包含aeiou五种字母,需要使得构造出来的字符串所包含的回文子序列数量最小思路当n≤5n\le5n≤5时,只要555个字母不重复出现都是最优情况当n>5n>5n>5时,可以证明:把相同字母放在一起是最优情况:
- 【百日算法计划】:每日一题,见证成长(013)
码上一元
数据结构与算法算法
题目回文链表给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。输入:head=[1,2,2,1]输出:true思路找到中间节点反转后半部分链表前后链表顺序比对publicbooleanisPalindrome2(ListNodehead){if(head==null||head.next==null)returntrue;ListNodep=
- MySQL 字符串操作详解和案例示范
J老熊
MySQL实战秘籍mysql数据库运维面试
MySQL字符串操作详解MySQL提供了丰富的字符串操作函数,能够对这些字符串进行截取、定位、替换等操作。本文将详细讲解MySQL中的字符串操作函数,包括SUBSTRING()、SUBSTR()、LEFT()、RIGHT()、LOCATE()、POSITION()、FIND_IN_SET()、ELT()、INSERT()和REPLACE(),并分析它们的区别和用法。一、SUBSTRING()和SU
- 动态规划算法之最长公子序列详细解读(附带Java代码解读)
南城花随雪。
算法分析算法动态规划java
最长公共子序列(LongestCommonSubsequence,LCS)问题是动态规划中另一个经典问题,广泛用于比较两个序列的相似度。它的目标是找到两个序列之间最长的公共子序列(不是连续的),使得这个子序列同时出现在两个序列中。1.问题定义给定两个序列X和Y,要找到它们的最长公共子序列,即一个序列Z,它同时是X和Y的子序列,且Z的长度最大。例如:对于序列X="ABCBDAB"和Y="BDCAB"
- 2024牛客暑期多校训练营2 H Instructions Substring
数学收藏家
算法
链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网题目描述Redstandsatthecoordinate(0,0)(0,0)(0,0)oftheCartesiancoordinatesystem.Shehasastringofinstructions:up,down,left,right(where`right'increasesthex-coordinateby111,and`up'in
- 每日一题 东方博宜(1942 - 回文质数 Prime Palindromes)
雨颜纸伞(hzs)
算法c++
题目描述因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以151是回文质数。写一个程序来找出范围[a,b](5≤ausingnamespacestd;constintN=1e6+10;vectork;intprime[N];intcnt;boolvis[100000001];voidget_primes(intn)for(inti=2;i0){k.push_back(n%1
- LeetCode #14 最长公共前缀
HU兔兔
classSolution{public:stringlongestCommonPrefix(vector&strs){if(strs.size()==0){return"";}stringans;inti=0;intj;while(i=strs[j].size()||strs[j][i]!=strs[0][i]){returnans;}j++;}ans.push_back(strs[0][i])
- Python | Leetcode Python题解之第388题文件的最长绝对路径
Mopes__
分享PythonLeetcode题解
题目:题解:classSolution:deflengthLongestPath(self,input:str)->int:ans,i,n=0,0,len(input)level=[0]*(n+1)whilei1:length+=level[depth-1]+1ifisFile:ans=max(ans,length)else:level[depth]=lengthreturnans
- C++ | Leetcode C++题解之第388题文件的最长绝对路径
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intlengthLongestPath(stringinput){intn=input.size();intpos=0;intans=0;vectorlevel(n+1);while(pos1){len+=level[depth-1]+1;}if(isFile){ans=max(ans,len);}else{level[depth]=len;
- 【算法】单词出现次数和位置统计
Chase-Hart
算法算法java开发语言intellij-ideaeclipse
【算法】单词出现次数和位置统计题目描述编写一个程序,用于统计一个给定单词在一段文本中出现的次数以及第一次出现的位置。如果单词在文本中出现,则输出出现次数和第一次出现的位置(位置从0开始计算)。如果单词没有出现,则输出-1。思路分析使用Scanner类从控制台读取两个字符串:要搜索的文本str和要统计的单词substring。定义一个方法countStr,该方法接收两个字符串参数,返回单词在文本中出
- 132. Palindrome Partitioning II (Hard)
Ysgc
Description:Givenastrings,partitionssuchthateverysubstringofthepartitionisapalindrome.Returntheminimumcutsneededforapalindromepartitioningofs.Example:Input:"aab"Output:1Explanation:Thepalindromepartit
- 给出两个字符串,求最长的相同子串的C语言实现
DarthP
c语言c++算法开发语言
下面是求最长公共子串的C语言代码实现:#include#includeintmax(inta,intb){return(a>b)?a:b;}intlongestCommonSubstring(char*s1,char*s2){intm=
- 寻找两个字符串的最长公共子串
乐小琛
算法字符串算法java
题目:给定两个字符串str1和str2,输出两个字符串的最长公共子串[题目保证str1和str2的最长公共子串存在且唯一]。实例:输入"1AB2345CD","12345EF"返回值:"2345"算法思想:本题调用了String类的Substring方法,及设置两个int型变量:start,end。调用Sunstring(start,end)来截取字符串,获得子字符串。若子字符串包含在另一个字符串
- 探索C++编程技巧:计算两个字符串的最长公共子串
清水白石008
C++C++题库面试试题c++代理模式开发语言
探索C++编程技巧:计算两个字符串的最长公共子串在C++面试中,考官通常会关注候选人的编程能力、问题解决能力以及对C++语言特性的理解。一个常见且经典的问题是计算两个字符串的最长公共子串(LongestCommonSubstring,LCS)。本文将详细介绍如何编写一个函数来解决这个问题,并深入探讨相关的编程技巧和优化方法。目录引言问题描述解决思路实现步骤基础实现动态规划优化代码示例复杂度分析总结
- LeetcodeDay15 不定长滑动窗口
比起村村长
leetcode算法python数据结构
模版l=0forrinrange(n):count[r]+=1while(不满足):count[l]-=1l+=13无重复的最长连续子串classSolution:deflengthOfLongestSubstring(self,s:str)->int:count={}res=0n=len(s)l=0forrinrange(n):c=s[r]count[c]=count.get(c,0)+1whi
- Python | Leetcode Python题解之第388题文件的最长绝对路径
Mopes__
分享PythonLeetcode题解
题目:题解:classSolution:deflengthLongestPath(self,input:str)->int:ans,i,n=0,0,len(input)level=[0]*(n+1)whilei1:length+=level[depth-1]+1ifisFile:ans=max(ans,length)else:level[depth]=lengthreturnans
- Golang | Leetcode Golang题解之第388题文件的最长绝对路径
__AtYou__
经验分享GolangLeetcode题解
题目:题解:funclengthLongestPath(inputstring)(ansint){n:=len(input)level:=make([]int,n+1)fori:=0;i1{length+=level[depth-1]+1}ifisFile{ans=max(ans,length)}else{level[depth]=length}}return}funcmax(a,bint)int
- C语言 | Leetcode C语言题解之第388题文件的最长绝对路径
DdddJMs__135
分享C语言Leetcode题解
题目:题解:#defineMAX(a,b)((a)>(b)?(a):(b))intlengthLongestPath(char*input){intn=strlen(input);intpos=0;intans=0;int*level=(int*)malloc(sizeof(int)*(n+1));memset(level,0,sizeof(int)*(n+1));while(pos1){len+
- substring() 方法
人不风流只为贫
substring()方法返回一个字符串在开始索引到结束索引之间的一个子集,或从开始索引直到字符串的末尾的一个子集。语法·str.substring(indexStart[,indexEnd])·参数indexStart:需要截取的第一个字符的索引,该字符作为返回的字符串的首字母。(就是起始的截取位置)indexEnd:可选。一个0到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内
- 【百日算法计划】:每日一题,见证成长(004)
码上一元
数据结构与算法算法java数据结构
题目回文数一个整数x,如果x是一个回文整数,返回true,否则,返回false回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数示例1:输入:x=121输出:true思路1取余取整反转这个数字,反转后的数跟原数比较。publicstaticbooleanisPalindrome(intx){if(x0){y=y*10+x%10;x=x/10;}returnm==y;}思路2转成字符数组,
- LeetCode 练习 day10
小黑DX
leetcodejavalinux
14.最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。示例1:输入:strs=[“flower”,“flow”,“flight”]输出:“fl”示例2:输入:strs=[“dog”,“racecar”,“car”]输出:“”解释:输入不存在公共前缀。classSolution{publicStringlongestCommonPrefix(Strin
- LeetCode 336. Palindrome Pairs
z6491679
acmleetcode
Givenalistofuniquewords.Findallpairsofdistinctindices(i,j)inthegivenlist,sothattheconcatenationofthetwowords,i.e.words[i]+words[j]isapalindrome.Example1:Givenwords=[“bat”,“tab”,“cat”]Return[[0,1],[1,0
- leetcode题解-336. Palindrome Pairs
liuchongee
leetcode刷题leetcode
题目:Givenalistofuniquewords,findallpairsofdistinctindices(i,j)inthegivenlist,sothattheconcatenationofthetwowords,i.e.words[i]+words[j]isapalindrome.Example1:Givenwords=[“bat”,“tab”,“cat”]Return[[0,1],[
- [LeetCode]336. Palindrome Pairs
gqk289
LeetCode
https://leetcode.com/problems/palindrome-pairs/找出两个字符串拼接可形成回文的所有组合遍历数组,把word和所在位置加入map,再遍历数组,内层遍历当前字符串,将字符串分隔成前后两个部分,判断这两个部分是否为回文,如果是,则将另一部分翻转,并在map中找是否存在,如果存在则这两者可以构成回文publicclassSolution{publicList>
- Leetcode 336. Palindrome Pairs- FB tag
a568093361
leetcode
Givenalistofuniquewords,findallpairsofdistinctindices(i,j)inthegivenlist,sothattheconcatenationofthetwowords,i.e.words[i]+words[j]isapalindrome.Example1:Input:["abcd","dcba","lls","s","sssll"]Output:[
- Leetcode 1048. Longest String Chain
SnailTyan
文章作者:Tyan博客:noahsnail.com|CSDN|1.DescriptionLongestStringChain2.Solution解析:Version1,先根据字符串长度对数组排序,然后根据长度分到不同的组里,按长度遍历组,如果下一组的字符串长度比当前组多1个,则遍历两组的所有元素,满足条件前辈子串,则下一组子串的字符链长度在当前子串长度的基础上加1,其实就是一个广度优先搜索的过程。
- 647. Palindromic Substrings 笔记
赵智雄
Givenastring,yourtaskistocounthowmanypalindromicsubstringsinthisstring.Thesubstringswithdifferentstartindexesorendindexesarecountedasdifferentsubstringseventheyconsistofsamecharacters.Example1:Input:"
- java解析APK
3213213333332132
javaapklinux解析APK
解析apk有两种方法
1、结合安卓提供apktool工具,用java执行cmd解析命令获取apk信息
2、利用相关jar包里的集成方法解析apk
这里只给出第二种方法,因为第一种方法在linux服务器下会出现不在控制范围之内的结果。
public class ApkUtil
{
/**
* 日志对象
*/
private static Logger
- nginx自定义ip访问N种方法
ronin47
nginx 禁止ip访问
因业务需要,禁止一部分内网访问接口, 由于前端架了F5,直接用deny或allow是不行的,这是因为直接获取的前端F5的地址。
所以开始思考有哪些主案可以实现这样的需求,目前可实施的是三种:
一:把ip段放在redis里,写一段lua
二:利用geo传递变量,写一段
- mysql timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
dcj3sjt126com
mysql
timestamp有两个属性,分别是CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP两种,使用情况分别如下:
1.
CURRENT_TIMESTAMP
当要向数据库执行insert操作时,如果有个timestamp字段属性设为
CURRENT_TIMESTAMP,则无论这
- struts2+spring+hibernate分页显示
171815164
Hibernate
分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享交流。
1、DAO层接口的设计,在MemberDao接口中定义了如下两个方法:
public in
- 构建自己的Wrapper应用
g21121
rap
我们已经了解Wrapper的目录结构,下面可是正式利用Wrapper来包装我们自己的应用,这里假设Wrapper的安装目录为:/usr/local/wrapper。
首先,创建项目应用
&nb
- [简单]工作记录_多线程相关
53873039oycg
多线程
最近遇到多线程的问题,原来使用异步请求多个接口(n*3次请求) 方案一 使用多线程一次返回数据,最开始是使用5个线程,一个线程顺序请求3个接口,超时终止返回 缺点 测试发现必须3个接
- 调试jdk中的源码,查看jdk局部变量
程序员是怎么炼成的
jdk 源码
转自:http://www.douban.com/note/211369821/
学习jdk源码时使用--
学习java最好的办法就是看jdk源代码,面对浩瀚的jdk(光源码就有40M多,比一个大型网站的源码都多)从何入手呢,要是能单步调试跟进到jdk源码里并且能查看其中的局部变量最好了。
可惜的是sun提供的jdk并不能查看运行中的局部变量
- Oracle RAC Failover 详解
aijuans
oracle
Oracle RAC 同时具备HA(High Availiablity) 和LB(LoadBalance). 而其高可用性的基础就是Failover(故障转移). 它指集群中任何一个节点的故障都不会影响用户的使用,连接到故障节点的用户会被自动转移到健康节点,从用户感受而言, 是感觉不到这种切换。
Oracle 10g RAC 的Failover 可以分为3种:
1. Client-Si
- form表单提交数据编码方式及tomcat的接受编码方式
antonyup_2006
JavaScripttomcat浏览器互联网servlet
原帖地址:http://www.iteye.com/topic/266705
form有2中方法把数据提交给服务器,get和post,分别说下吧。
(一)get提交
1.首先说下客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的吧。
对于get方法来说,都是把数据串联在请求的url后面作为参数,如:http://localhost:
- JS初学者必知的基础
百合不是茶
js函数js入门基础
JavaScript是网页的交互语言,实现网页的各种效果,
JavaScript 是世界上最流行的脚本语言。
JavaScript 是属于 web 的语言,它适用于 PC、笔记本电脑、平板电脑和移动电话。
JavaScript 被设计为向 HTML 页面增加交互性。
许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法。几乎每个人都有能力将小的
- iBatis的分页分析与详解
bijian1013
javaibatis
分页是操作数据库型系统常遇到的问题。分页实现方法很多,但效率的差异就很大了。iBatis是通过什么方式来实现这个分页的了。查看它的实现部分,发现返回的PaginatedList实际上是个接口,实现这个接口的是PaginatedDataList类的对象,查看PaginatedDataList类发现,每次翻页的时候最
- 精通Oracle10编程SQL(15)使用对象类型
bijian1013
oracle数据库plsql
/*
*使用对象类型
*/
--建立和使用简单对象类型
--对象类型包括对象类型规范和对象类型体两部分。
--建立和使用不包含任何方法的对象类型
CREATE OR REPLACE TYPE person_typ1 as OBJECT(
name varchar2(10),gender varchar2(4),birthdate date
);
drop type p
- 【Linux命令二】文本处理命令awk
bit1129
linux命令
awk是Linux用来进行文本处理的命令,在日常工作中,广泛应用于日志分析。awk是一门解释型编程语言,包含变量,数组,循环控制结构,条件控制结构等。它的语法采用类C语言的语法。
awk命令用来做什么?
1.awk适用于具有一定结构的文本行,对其中的列进行提取信息
2.awk可以把当前正在处理的文本行提交给Linux的其它命令处理,然后把直接结构返回给awk
3.awk实际工
- JAVA(ssh2框架)+Flex实现权限控制方案分析
白糖_
java
目前项目使用的是Struts2+Hibernate+Spring的架构模式,目前已经有一套针对SSH2的权限系统,运行良好。但是项目有了新需求:在目前系统的基础上使用Flex逐步取代JSP,在取代JSP过程中可能存在Flex与JSP并存的情况,所以权限系统需要进行修改。
【SSH2权限系统的实现机制】
权限控制分为页面和后台两块:不同类型用户的帐号分配的访问权限是不同的,用户使
- angular.forEach
boyitech
AngularJSAngularJS APIangular.forEach
angular.forEach 描述: 循环对obj对象的每个元素调用iterator, obj对象可以是一个Object或一个Array. Iterator函数调用方法: iterator(value, key, obj), 其中obj是被迭代对象,key是obj的property key或者是数组的index,value就是相应的值啦. (此函数不能够迭代继承的属性.)
- java-谷歌面试题-给定一个排序数组,如何构造一个二叉排序树
bylijinnan
二叉排序树
import java.util.LinkedList;
public class CreateBSTfromSortedArray {
/**
* 题目:给定一个排序数组,如何构造一个二叉排序树
* 递归
*/
public static void main(String[] args) {
int[] data = { 1, 2, 3, 4,
- action执行2次
Chen.H
JavaScriptjspXHTMLcssWebwork
xwork 写道 <action name="userTypeAction"
class="com.ekangcount.website.system.view.action.UserTypeAction">
<result name="ssss" type="dispatcher">
- [时空与能量]逆转时空需要消耗大量能源
comsci
能源
无论如何,人类始终都想摆脱时间和空间的限制....但是受到质量与能量关系的限制,我们人类在目前和今后很长一段时间内,都无法获得大量廉价的能源来进行时空跨越.....
在进行时空穿梭的实验中,消耗超大规模的能源是必然
- oracle的正则表达式(regular expression)详细介绍
daizj
oracle正则表达式
正则表达式是很多编程语言中都有的。可惜oracle8i、oracle9i中一直迟迟不肯加入,好在oracle10g中终于增加了期盼已久的正则表达式功能。你可以在oracle10g中使用正则表达式肆意地匹配你想匹配的任何字符串了。
正则表达式中常用到的元数据(metacharacter)如下:
^ 匹配字符串的开头位置。
$ 匹配支付传的结尾位置。
*
- 报表工具与报表性能的关系
datamachine
报表工具birt报表性能润乾报表
在选择报表工具时,性能一直是用户关心的指标,但是,报表工具的性能和整个报表系统的性能有多大关系呢?
要回答这个问题,首先要分析一下报表的处理过程包含哪些环节,哪些环节容易出现性能瓶颈,如何优化这些环节。
一、报表处理的一般过程分析
1、用户选择报表输入参数后,报表引擎会根据报表模板和输入参数来解析报表,并将数据计算和读取请求以SQL的方式发送给数据库。
2、
- 初一上学期难记忆单词背诵第一课
dcj3sjt126com
wordenglish
what 什么
your 你
name 名字
my 我的
am 是
one 一
two 二
three 三
four 四
five 五
class 班级,课
six 六
seven 七
eight 八
nince 九
ten 十
zero 零
how 怎样
old 老的
eleven 十一
twelve 十二
thirteen
- 我学过和准备学的各种技术
dcj3sjt126com
技术
语言VB https://msdn.microsoft.com/zh-cn/library/2x7h1hfk.aspxJava http://docs.oracle.com/javase/8/C# https://msdn.microsoft.com/library/vstudioPHP http://php.net/manual/en/Html
- struts2中token防止重复提交表单
蕃薯耀
重复提交表单struts2中token
struts2中token防止重复提交表单
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月12日 11:52:32 星期日
ht
- 线性查找二维数组
hao3100590
二维数组
1.算法描述
有序(行有序,列有序,且每行从左至右递增,列从上至下递增)二维数组查找,要求复杂度O(n)
2.使用到的相关知识:
结构体定义和使用,二维数组传递(http://blog.csdn.net/yzhhmhm/article/details/2045816)
3.使用数组名传递
这个的不便之处很明显,一旦确定就是不能设置列值
//使
- spring security 3中推荐使用BCrypt算法加密密码
jackyrong
Spring Security
spring security 3中推荐使用BCrypt算法加密密码了,以前使用的是md5,
Md5PasswordEncoder 和 ShaPasswordEncoder,现在不推荐了,推荐用bcrpt
Bcrpt中的salt可以是随机的,比如:
int i = 0;
while (i < 10) {
String password = "1234
- 学习编程并不难,做到以下几点即可!
lampcy
javahtml编程语言
不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各 异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发 各种神奇的软件啦。
1、确定目标
学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到
- 架构师之mysql----------------用group+inner join,left join ,right join 查重复数据(替代in)
nannan408
right join
1.前言。
如题。
2.代码
(1)单表查重复数据,根据a分组
SELECT m.a,m.b, INNER JOIN (select a,b,COUNT(*) AS rank FROM test.`A` A GROUP BY a HAVING rank>1 )k ON m.a=k.a
(2)多表查询 ,
使用改为le
- jQuery选择器小结 VS 节点查找(附css的一些东西)
Everyday都不同
jquerycssname选择器追加元素查找节点
最近做前端页面,频繁用到一些jQuery的选择器,所以特意来总结一下:
测试页面:
<html>
<head>
<script src="jquery-1.7.2.min.js"></script>
<script>
/*$(function() {
$(documen
- 关于EXT
tntxia
ext
ExtJS是一个很不错的Ajax框架,可以用来开发带有华丽外观的富客户端应用,使得我们的b/s应用更加具有活力及生命力。ExtJS是一个用 javascript编写,与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。
ExtJs最开始基于YUI技术,由开发人员Jack
- 一个MIT计算机博士对数学的思考
xjnine
Math
在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进。为什么要深入数学的世界?作为计算机的学生,我没有任何企图要成为一个数学家。我学习数学的目的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些。说起来,我在刚来这个学校的时候,并没有预料到我将会有一个深入数学的旅程。我的导师最初希望我去做的题目,是对appe