摘要: 题目:数字在排序数组中出现的次数。 思路:最简单的思路就是遍历统计,时间复杂度是O(n)。但是既然是排序好的,怎么也得用一下二分吧。时间复杂度O(logn) O(n)实现代码: 阅读全文
posted @ 2016-05-08 13:44 Pickle 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 思路:看网上一些基于归并排序的解法,看的我很懵,其实这个答案就是1~数组中后一个数小于前一个数的个数的和。能找规律用公式的绝不用算法。 实现代码: 阅读全文
posted @ 2016-05-08 10:49 Pickle 阅读(181) 评论(1) 推荐(0) 编辑
摘要: 题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。 思路:用最 阅读全文
posted @ 2016-05-08 10:36 Pickle 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 题目:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 思路:暴力会超时,需要在计算的时候最好是能够利用上一次的计算结果。在算ugly number的时候可以跳过所有非u 阅读全文
posted @ 2016-05-08 10:28 Pickle 阅读(423) 评论(0) 推荐(0) 编辑