N个元素的有序数组A,判断是否有 A[i]=i 存在
来源:互联网 发布:常微分方程 知乎 编辑:程序博客网 时间:2024/04/30 02:06
/// <summary>
//下述算法只对严格单调的整数数组有效,复杂度O(N);
/// 查找数组中的一个数k,满足a[k] == k
/// 需保证a数组严格单调上升
/// </summary>
/// <returns>找到返回k,找不到返回-1</returns>
public staticintFindNumber(int[]a)
{
if (a==null)
return -1;
int left =0, right= a.Length;
while (left+1< right)
{
int mid = left+(right- left)/2;
if (a[mid]> mid)
right = mid;
else
left = mid;
}
return a[left]== left? left:-1;
}
- N个元素的有序数组A,判断是否有 A[i]=i 存在
- 时间复杂度为O(n)来判断数组a[N](1 <= a[i] <= N)中是否有重复元素 (某公司校园招聘笔试题目)
- 据说是腾讯的面试题:两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i]
- 有序整型数组A,判断A中是否存在两个数之和等于X,时间O(n)
- 给定一个整数sum, 从有N个有序元素的数组中寻找元素a,b,使得a+b的结果最接近sum
- 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法
- 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]
- 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法
- 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法
- 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法
- 两个数组a[N],b[N],其中a[N]的各个元素值已知,现给b[i]赋值
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值 .
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值
- leetcode-java.T015_3Sum---给定一个n个元素的数组,是否存在a,b,c三个元素,使用得a+b+c=0,找出所有符合这个条件的三元组
- getInputStream与getReader方法
- Jsp隐式对象
- 缓冲字符流
- php中的遍历目录
- ServletContext读取资源的三种方式
- N个元素的有序数组A,判断是否有 A[i]=i 存在
- 一个很有意思的发现,让整个页面变汇的CSS设置方法
- Servlet的一些细节
- 计算器jsp实现
- php实现文件的上传和下载
- 需掌握
- 线性码和循环码
- python3之数字(在实际应用中的数字--比较:一般的和连续的)
- HttpServletRequest的应用