算法-数据结构 关于算法-数据结构:算法最大子数组 问题形容: {代码…} 了解: {代码…} 暴力求解: {代码…} {代码…} java代码实现: {代码…} 分治求解: {代码…} {代码…} {代码…} {代码…} 能够看出上述算法渐进工夫复杂度为Θ(nlg(n))。java代码实现: {代码…} 缩减问题规模:缩减问题规模的办法: {代码…} {代码…} java代码如下: {代码…} 参考…
算法-数据结构 关于算法-数据结构:PAT甲级1082-Read-Number-in-Chinese 此题考查的细节次要在0和Wan的输入上,因为只有9位,那么最高位只会达到亿。那么首先应用units数组寄存每一位数字的单位(从个、十、百到亿),因为万,十万,百万,千万的单位每一个都有万字,然而在输入的时候只有该组数位中不为0数字对应的最小单位才会带上万输入,所以,这里在units[4]存储Wan,其余位只存储十,百,千…
算法-数据结构 关于算法-数据结构:算法最大子数组 了解: 为找出最大化的收益,须要思考的是在买进和卖出时的价格变动幅度,因而从该股票的每日变动幅度来思考问题比拟适合。由此,能够将上述问题稍作变形:给定一只股票在某段时间内的每日变动幅度,找出一个适合的买进和卖出工夫,以实现收益最大化。因而,将输出数据转换如下,并试图在整个时间段中找到一个累加和最大…
算法-数据结构 关于算法-数据结构:PAT甲级1041-Be-Unique 此题次要应用hash的思维,将呈现的数字作为下标,呈现的次数作为值,而后一一对应,在输出的时候,应用num数组承受所有的值,count数组保留所有值所呈现的次数,因为最大数字为10000,所以count数组得开10001以上,而后应用j指针遍历数组num,如果count[num[j]]==1,阐明依照读入的程序有一个只呈现了一次的数字,将其输入…
算法-数据结构 关于算法-数据结构:PAT甲级1077-Kuchiguse 求字符串的公共后缀就得想到从后往前进行遍历雷同的字符了,为此应用n记录三个字符串的最小长度,作为遍历的最大长度,而后应用i,j,k别离作为s1,s2,s3的下标指针,只有s1[i]==s2[j]&&s1[i]==s3[k]就阐明以后字符为公共字符,增加到后果字符串r中,而后–i,–j,–k,否则就间接break退出循环。退出循环后,间接逆…
算法-数据结构 关于算法-数据结构:PAT甲级1035-Password 给定n集体的用户名和明码,依照要求替换明码中的特定字符(1 (one) by @, 0 (zero) by %, l by L, and O by o),如果不存在须要批改的明码,则须要依据单复数输入There is(are) 1(n) account(s) and no account is modified
算法-数据结构 关于算法-数据结构:PAT甲级1005-Spell-It-Right 因为整数大小最大为10^100,得用string存储才行,对string中的每一位减去’0’后进行求和,而后再转化为string,从左往右顺次输入对应每一位的英文字母,为了不便对最终后果的每一位进行输入建设从数字到英文单词的映射numToWords,下标示意每一位数字,其值代表对应的英文单词。
算法-数据结构 关于算法-数据结构:PAT甲级1001-AB-Format 首先计算a+b的值c,对于正数先输入负号,而后对后果取绝对值,应用string r存储最初输入的后果,将c的每一位逆序增加到r中,并且每增加3位就增加一个逗号(应用index来标记增加位数),这里得特判c==0的状况,间接输入0,最初将r逆序输入即可。
算法-数据结构 关于算法-数据结构:PAT甲级1073-Scientific-Notation 因为指数局部的绝对值不超过9999,阐明应用double无奈存储该数字了,只能应用字符串或者字符数组,这里采纳字符串的形式进行解决,迷信计数法的数字能够分为无效局部加上指数局部,其分割线为字符E。咱们应用indexOfE保留其E字符的地位,subString保留无效局部的绝对值,接下来就是依据指数的正负来判断是小数点往左还是…
算法-数据结构 关于算法-数据结构:PAT甲级1061-Dating 给出4个字符串,其中前两个字符串蕴含两个信息:DAY和HH,后两个蕴含一个信息:MM。上面给出这个信息的辨认信息和转换关系:DAY:前两个字符串的第一对雷同地位的A~G的大写字母。转换关系: 大写字母是从A开始的第几个,就是星期几。HH:寻找信息DAY的地位之后的第一对雷同地位的0~9或A-N的字符。转换关系: 0-9对应0-9,A-N对应…