
查找
文章平均质量分 51
张荣华_csdn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Longest Increasing Subsequence
Given an unsorted array of integers, find the length of longest increasing subsequence.Example:Input: [10,9,2,5,3,7,101,18]Output: 4 Explanation: The longest increasing subsequence is [2,3,7,101], t...原创 2018-06-14 09:15:14 · 221 阅读 · 0 评论 -
从有序数组中找出某个数出现的次数
#include "stdio.h"int bin_search(int array[], int key, int length, int loc_flag) { int low = 0, high = length -1; int mid = 0; int last = -1; /*用last记录最终的位置loc_a或loc_b*/ ...原创 2018-07-26 00:05:57 · 1183 阅读 · 0 评论 -
在排序数组中查找数字
题目:数字在排序数组中出现的次数。统计一个数字在排序数组中出现的次数。例如,输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4.int GetNumberOfK(const int* data, int length, int k){ int number = 0; if(data != nullptr &&...原创 2018-07-21 00:10:18 · 402 阅读 · 0 评论 -
使用折半查找法查找数组中的元素
#include "stdio.h"int bin_search(int key[],int n,int k){ int low = 0, high = n-1, mid; while(low<=high){ mid = (low+high)/2; if(key[mid] == k) { return mid; ...原创 2018-07-24 09:46:29 · 6597 阅读 · 2 评论 -
利用球树搜索最近邻
使用球树找出给定目标的最近邻方法是首选自上而下贯穿整棵树找出包含目标点所在的叶子,并在这个球里面找出与目标点最近邻的点,这将确定出目标点距离它的最近邻点的一个上限值,然后跟KD树查找一样,检查兄弟结点,如果目标点到兄弟结点中心的距离超过兄弟结点的半径与当前的上限值之和,那么兄弟结点里不可能存在一个更近的点,否则的话,必须进一步检查位于兄弟结点一下的子树。检查完兄弟结点后,我们向父结点回溯,继续搜索...原创 2018-07-09 00:10:30 · 1846 阅读 · 0 评论 -
Find Minimum in Rotated Sorted Array II
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]).Find the minimum element.The array may contain dupl...原创 2018-06-30 22:39:07 · 257 阅读 · 0 评论 -
Find Minimum in Rotated Sorted Array
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]).Find the minimum element.You may assume no duplicat...原创 2018-06-30 22:39:16 · 206 阅读 · 0 评论 -
Sqrt(x)
Implement int sqrt(int x).Compute and return the square root of x, where x is guaranteed to be a non-negative integer.Since the return type is an integer, the decimal digits are truncated and only the...原创 2018-06-18 10:08:34 · 199 阅读 · 0 评论 -
利用kd树实现最近邻搜索
输入:已经构造的kd树,目标点x;输出:x的最近邻1在kd树中找出包含目标点x的叶节点:从根结点出发,递归地向下访问kd树。若目标点x当前维的坐标小于切分点的坐标,则移动到左叶子结点,否则移动到右叶子结点。直到子节点为叶节点为止。2以此叶节点为“当前最近点”3递归地向上回退,在每个结点进行以下操作:a.如果该结点保存的实例点比当前最近点距离目标点更近,则以该实例点为“当前最近点”b.当前最近点一定...原创 2018-06-09 07:57:53 · 2103 阅读 · 0 评论 -
kd树
Kd树是一种对K维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。Kd树是二叉树,表示对k维空间的一个划分。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域。Kd树的每一个结点对应于一个k维超矩形区域。 构造kd树的方法如下: 构造根结点,使得根结点对应于k维空间中包含所有实例点的超矩形区域;通过下面的递归方法,不断地对k维空...原创 2018-06-09 07:57:38 · 1044 阅读 · 0 评论 -
完全二叉树计数
给定一棵完全二叉树的根节点root,返回这棵树的节点个数。如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法。给定树的根结点root,请返回树的大小。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : va...原创 2018-06-09 07:54:37 · 1349 阅读 · 0 评论 -
最左原位
有一个有序数组arr,其中不含有重复元素,请找到满足arr[i]==i条件的最左的位置。如果所有位置上的数都不满足条件,返回-1。给定有序数组arr及它的大小n,请返回所求值。测试样例:[-1,0,2,3],4返回:2class Find {public: int findPos(vector<int> arr, int n) { // write code her...原创 2018-06-07 08:56:15 · 179 阅读 · 0 评论 -
循环有序数组最小值
对于一个有序循环数组arr,返回arr中的最小值。有序循环数组是指,有序数组左边任意长度的部分放到右边去,右边的部分拿到左边来。比如数组[1,2,3,3,4],是有序循环数组,[4,1,2,3,3]也是。给定数组arr及它的大小n,请返回最小值。测试样例:[4,1,2,3,3],5返回:1class MinValue {public: int getMin(vector<int>...原创 2018-06-08 09:08:43 · 523 阅读 · 0 评论 -
元素最左出现位置
对于一个有序数组arr,再给定一个整数num,请在arr中找到num这个数出现的最左边的位置。给定一个数组arr及它的大小n,同时给定num。请返回所求位置。若该元素在数组中未出现,请返回-1。测试样例:[1,2,3,3,4],5,3返回:2class LeftMostAppearance {public: int findPos(vector<int> arr, int n, ...原创 2018-06-07 08:55:58 · 398 阅读 · 0 评论 -
Find Peak Element
A peak element is an element that is greater than its neighbors.Given an input array nums, where nums[i] ≠ nums[i+1], find a peak element and return its index.The array may contain multiple peaks, in ...原创 2018-07-08 00:21:47 · 245 阅读 · 0 评论