算法
calldatou
Schrödinger
展开
-
统计一个数字在排序数组中出现的次数
标题: 统计一个数字在排序数组中出现的次数 例如:输入数组为{1,3,3,3,3} ,统计3在数据中出现的次数,显然是4次,因此输出 4。 思路 :使用二分法找出 3 第一出现得位置 i 和最后一次出现得位置 j,然后i+j-1即得到3出现次数。#include <stdio.h>//获取第一个值int getFirstK(int *data,int length,int k, i原创 2017-12-31 15:05:37 · 391 阅读 · 0 评论 -
快速排序+调整数组顺序使奇数位于偶数前面
快速排序基本的实现#include <stdio.h>#include <stdlib.h>int * quickSort(int * data,int start,int end){ if(data == NULL || start==end){ return data; } int back_start=start; int back_end=原创 2018-01-02 21:04:23 · 1077 阅读 · 0 评论 -
返回中序遍历的一个节点的下一个节点
题目:返回中序遍历的一个节点的下一个节点 思路: 1. 该节点是否有右孩子,右孩子的左孩子的最后一个就是下一个节点 2. 该节点没有右孩子。它是父节点的左子树,那么下一个节点就是 父节点。 3. 该节点没有右孩子。它是父节点的右子树,那么就要找它父节点是其一个节点的左子树。class Solution {public: TreeLinkNode* GetNe原创 2018-01-06 16:29:43 · 634 阅读 · 0 评论 -
青蛙跳台阶问题(变态跳台阶)
转自 斐波那契数列(意大利语: Successione di Fibonacci),又译费波拿契数、费波那西数列、费氏数列、黄金分割数列。在数学上,费波那西数列是以递归的方法来定义:F_0=0 F_1=1 F_n = F_{n-1}+ F_{n-2} 用文字来说,就是费波那西数列由 0 和 1 开始,之后的费波那西系数就由之前的两数相加。首几个费波那西系数是(OEIS A00004转载 2018-01-06 18:57:39 · 787 阅读 · 0 评论