清奇思路系列
文章平均质量分 80
wushuomin
这个作者很懒,什么都没留下…
展开
-
【整理自用】清奇的思路(二) 剑指offer: 数字二进制中1的个数
================================题目在下面===================================== 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。清奇的思路: 思路提供者为牛客网该题下菩提旭光的回答 1. 如果一个整数不为0,那么这个整数二进制中至少有一位是1。 2. 如果我们把这个整数减1,那么原来处在整数最...转载 2018-04-15 14:55:56 · 133 阅读 · 0 评论 -
【整理自用】清奇思路(一)NIM游戏、(一堆石头,最后一个胜利)
NIM游戏类似 一共有N堆石子,编号1..n,第i堆中有个a[i]个石子。每一次操作Alice和Bob可以从任意一堆石子中取出任意数量的石子,至少取一颗,至多取出这一堆剩下的所有石子。两个人轮流行动,取走最后一个的人胜利。Alice为先手。 招行的那道题:有A,B,C 三间。里面分别有一定数量的面试官。小张和小玲两个HR,每一次可以从任意一个房间中派出任意数量的面试官,至少派1个...原创 2018-03-30 17:24:10 · 1098 阅读 · 0 评论 -
【整理自用】清奇思路(三)正解整数分解成不同加数的最大乘积
1.问题描述设 nnn 为一自然数, nnn 可分解成若干个不同的自然数的和。这样的分法有很多种:比如 n=10n=10n=10 , nnn 可按照下述方式分解: 编 号 分解方式举例 1. 10=5+4+1; 2. 10=3+2+3+2; 3. 10=7+3; 4. 10=6+4; 5. 10=7+2+1;...原创 2018-04-15 16:22:18 · 1008 阅读 · 2 评论 -
【整理自用】清奇思路(四) 实现乘方的最小操作/斐波那契数列(Fibonacci )最小时间复杂度
实现乘方的最小时间复杂度1.求anana^n的计算方法:an={a(n/2)∗a(n/2)a(n−1)/2∗a(n−1)/2∗an为偶数n为奇数(1)(1)an={a(n/2)∗a(n/2)n为偶数a(n−1)/2∗a(n−1)/2∗an为奇数a^n=\begin{cases} a^{(n/2)}*a^{(n/2)} &n为偶数\\ a^...原创 2018-04-22 14:58:35 · 459 阅读 · 0 评论 -
清奇思路(五) 数组中出现次数超过1半的次数
1.题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 如果不存在则输出0。 2.清奇思路关注题目,数组中有一个数字出现的次数超过数组长度的一半。记数组长度为LENLENLEN。如果这个数字存在,记其出现次数为TT...原创 2018-05-01 21:36:04 · 161 阅读 · 0 评论 -
清奇思路(六)从1到n整数中1出现的次数
1.题目描述2. 清奇思路:如何找数字规律判断每一位有几个“1”2.1 举例子找规律2.1.1百位为例,百位上至少有多少个“1”2.1.2 如果X>1(即X为2~9)2.1.3 如果X==02.1.4 如果X==12.2用公式写出来2.3代码表示1.题目描述 1~13中包含1的数字有1、10、11、12、13,因此“1”共出现6次;...原创 2018-05-06 11:30:54 · 783 阅读 · 0 评论 -
【伪清奇思路】寻找数组中的逆序对个数
[toc] 题目来源:剑指offer 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 示例: 输入: 1,2,3,4,5,6,7,0 输出 7 需要仔细研究一下示例,光看题目,会以为前面一个...原创 2018-05-14 09:43:45 · 1195 阅读 · 0 评论 -
【清奇思路(七)】寻找数据流的中位数
问题描述简单分析概念非完全排序完全排序后的效果完全排序向非完全排序转化的关键思路!!思路整理问题描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。简单分析因为是从数据流中读出的数据,因此我们所拥有的数据的总数是...原创 2018-06-08 11:26:04 · 415 阅读 · 0 评论