Lesson 3 Time Complexity PermMissingElem
2016-05-19 17:50
204 查看
Codility 测试题 寻找缺失的元素。
原题:
A zero-indexed array A consisting of N different integers is given. The array contains integers in the range [1..(N + 1)], which means that exactly one element is missing.
Your goal is to find that missing element.
Write a function:
int solution(int A[], int N);
that, given a zero-indexed array A, returns the value of the missing element.
For example, given array A such that:
A[0] = 2 A[1] = 3 A[2] = 1 A[3] = 5
the function should return 4, as it is the missing element.
Assume that:
N is an integer within the range [0..100,000];
the elements of A are all distinct;
each element of array A is an integer within the range [1..(N + 1)].
Complexity:
expected worst-case time complexity is O(N);
expected worst-case space complexity is O(1), beyond input storage (not counting the storage required for input arguments).
Elements of input arrays can be modified.
算法
func findMissElem( needArray A: [NSInteger] )->NSInteger{
var sumACount = (A.count + 1)*(A.count + 2)/2
for scorein A{
sumACount -= score
}
return sumACount
}
原题:
A zero-indexed array A consisting of N different integers is given. The array contains integers in the range [1..(N + 1)], which means that exactly one element is missing.
Your goal is to find that missing element.
Write a function:
int solution(int A[], int N);
that, given a zero-indexed array A, returns the value of the missing element.
For example, given array A such that:
A[0] = 2 A[1] = 3 A[2] = 1 A[3] = 5
the function should return 4, as it is the missing element.
Assume that:
N is an integer within the range [0..100,000];
the elements of A are all distinct;
each element of array A is an integer within the range [1..(N + 1)].
Complexity:
expected worst-case time complexity is O(N);
expected worst-case space complexity is O(1), beyond input storage (not counting the storage required for input arguments).
Elements of input arrays can be modified.
算法
func findMissElem( needArray A: [NSInteger] )->NSInteger{
var sumACount = (A.count + 1)*(A.count + 2)/2
for scorein A{
sumACount -= score
}
return sumACount
}
相关文章推荐
- android 任务Task及回收栈back stack介绍
- 1乘1
- 连续奇数和
- Java基础---泛型
- commons-httpclient post请求乱码问题记录(非编码问题,gzip格式问题)
- 注册码生成器 略屌略屌
- 浅谈MVP in Android
- PHP的命名空间
- HDU 2955 Robberies(01背包)
- 2016SDAU课程练习三1001
- L1-002. 打印沙漏(C++)
- Svn分支 主干合并
- Unity 里双击脚本打不开的解决方法
- Run Loop是什么,使用的目的,何时使用和关注点
- leetcode 260.Single Number
- 平衡二叉树
- cglib动态代理介绍(一)
- firefox等浏览器F12控制台提示“格式不佳”或“开始标记的格式不正确。属性应由空格分隔”
- 1*1
- MySQL SELECT执行顺序