面试题38—数字在排序数组中出现的次数
来源:互联网 发布:靠谱泰国代购淘宝 知乎 编辑:程序博客网 时间:2024/05/21 08:03
代码示例:
#include<iostream>using namespace std;int First_k(int a[], int s, int t,int k){ if (a == NULL || (s > t)) return -1; int mid = (s + t) / 2; if (a[mid] < k) { return First_k(a, mid+1, t, k); } else if (a[mid] > k) { return First_k(a, s, mid - 1, k); } else { if (a[mid - 1] != k) return mid; else { return First_k(a, s, mid - 1, k); } }}int Last_k(int a[], int s, int t, int k){ if (a == NULL || (s > t)) return -1; int mid = (s + t) / 2; if (a[mid] < k) { return Last_k(a, mid + 1, t, k); } else if (a[mid] > k) { return Last_k(a, s, mid - 1, k); } else { if (a[mid + 1] != k) return mid; else { return Last_k(a, mid+1, t, k); } }}int main(){ const int n = 10; int a[n] = { 3 }; int begin = 0; int end = n - 1; int k = 0; int index1 = First_k(a, begin, end, k); int index2 = Last_k(a, begin, end, k); if (index1 != -1 && index2 != -1) { cout << k << "出现次数:" << index2 - index1 + 1 << endl; } else { cout << k << "没有出现!" << endl; }}
阅读全文
0 0
- 【面试题】数字在排序数组中出现的次数
- 剑指offer——面试题38:数字在排序数组中出现的次数
- 剑指offer 面试题38—数字在排序数组中出现的次数
- 面试题38—数字在排序数组中出现的次数
- 面试题38:数字在排序数组中出现的次数
- [剑指offer][面试题38]数字在排序数组中出现的次数
- 面试题38:数字在排序数组中出现的次数
- 剑指Offer:面试题38 数字在排序数组中出现的次数
- 面试题38:数字在排序数组中出现的次数
- 剑指offer面试题38:数字在排序数组中出现的次数
- 面试题38:数字在排序数组中出现的次数
- 《剑指Offer》学习笔记--面试题38:数字在排序数组中出现的次数
- 【剑指Offer学习】【面试题38:数字在排序数组中出现的次数】
- 面试题38_数字在排序数组中出现的次数
- 剑指Offer面试题38(Java版):数字在排序数组中出现的次数
- 剑指offer-面试题38:数字在排序数组中出现的次数
- 剑指offer之面试题38数字在排序数组中出现的次数
- 剑指offer面试题38:数字在已排序数组中出现的次数
- Unable to satisfy the following requirements解决方案
- Android性能优化之巧用软引用与弱引用优化内存使用
- 获取过度颜色百分比及设置背景颜色渐变
- 6.27
- unity之安卓手机截屏并显示在相册
- 面试题38—数字在排序数组中出现的次数
- 认识OKHttp
- jQuery 中的proxy()和delegation()方法
- JZOJ 5163【NOIP2017模拟6.25】PS的烦恼
- Linux下rpm及yum安装jdk
- python与数据挖掘-笔记2
- eval调研
- java中十六进制编码与解码
- 安装MyEclipse插件svn