include #include<vector> using namespace std; class Balls { public: int calcDistance(int A, int B, int C, int D) { // write code here return calcDis(A) + calcDis(B) + calcDis(C) + calcDis(D); } int calcDis(int x) { float sum = x; float xx = x; while…
又一次学习一遍<算法导论>,看到了这个问题: 描写叙述一个执行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和还有一个整数 X 时,推断出S中是否存在有两个其和刚好等于 X 的元素. Solution: (1)->对整个集合进行排序,能够用快排(含有小文件策略.三者取中策略).时间复杂度O(nlogn).形成一个数组A[n]. ->设定两个下标pBegin和pEnd,分别指向数组A[n]的头尾.pBegin = 0.pEnd = n -1. ->若(A[p…