10 2019 档案
摘要:题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 题解 方法1: 统计所有字符出现的次数,返回第一个次数为1的数。保存可以用数组或Map等,不多解释。 方法2: 建立两个表,第一个保存当前
阅读全文
摘要:题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 题解 可将数字转换为String型,按拼接升序排序(假设有str1和str2,若 str1+str2 > str
阅读全文
摘要:题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 题解 方法1: 最容易想到的就是依次判断每一个数是否为丑数,是则丑数个数加1,直到N。这种方法思路简单,实
阅读全文
摘要:同普通跳台阶一样,使用递归就可以解决,不过普通版因为仅有跳1阶和2阶的选择,所以返回F(n-1)+F(n-2),而变态版返回F(n-1)+F(n-2)+...+F(1)+1。此处加1是因为变态版除了可以跳(n-1)、(n-2)、...、2、1的和之外,还额外多一种跳n阶的情况。
阅读全文
摘要:方法1:若出现次数过半则该数必定为中位数,因此,排序后统计中位数出现次数,过半则返回该数,否则返回0。 方法2:遍历统计每一个数字出现的次数,过半则返回该数,若全部遍历后无过半数,则返回0。考虑到数据范围可能很大,统计使用hashmap保存而不用数组。 方法3:若出现次数过半,则满足关系:出现次数
阅读全文

浙公网安备 33010602011771号