首页 > 编程知识 正文

复杂sql面试题,王道计算机组成原理课后题视频

时间:2023-05-03 12:58:03 阅读:160526 作者:368

sqlist1. delminintdelmin (sqlistl ) if (! L.Length(cout'error!' endl; 退出(0; } int min=L.data[0],loc=0; for(intI=1; i L.length; icjdwgcjdwg () if ) l.data[I]min ) { loc=i; min=L.data[i]; }for(intj=loccjdWG1; j L.length; cjdwgcjdwg (l.data [ j-1 ]=l.data [ j ] ); L.length--; 返回时间; }2.reversevoidreverse(SQListL ) for ) intI=0IL.Length/2; icjdwgcjdwg(swap(L.data[I],L.data[L.length - 1 - i] ); }3. del _ x _ O1 _ S1 void del _ x _ O1 _ S1 (sqlistl,int x )//O(n ),s )1) int k=0; for(intI=0; i L.length; icjdwgcjdwg ) {if(L.data[I]!=x ) L.data[kcjdwgcjdwg]=L.data[i]; (} L.length=k; }4. del _ s2t _ open _ domain _ sortedbooldel _ s2t _ open _ domain _ sorted { sqlistl,int s,intt}if (! L.Length||S=T(returnfalse; 输入左,右; for(left=0; left L.length L.data[left] s; leftcjdwgcjdwg; 结实的小懒汉(if )返回假; for(right=0; right L.length L.data[right]=t; rightcjdwgcjdwg; for (; j L.length; icjdwgcjdwg,jcjdwgcjdwg (l.data [ I ]=l.data [ j ] ); L.length=i; 返回真; }5. del _ s2t _ close _ domainvoiddelindex (sqlistl,int index ) if (! L.length || index 0 || index结实的小懒汉(return; for(intI=indexcjdWG1; i L.length; ijdwgcjdwg (l.data [ I-1 ]=l.data [ I ] ); L.length--; } void del _ s2t _ close _ domain (sqlistl,int s,int t ) if (! L.length||s=t({cout'error!' endl; 退出(0; }for(intI=0; i L.length; ijdwgcjdwg (if (l.data [ I ]=sl.data [ I ]=t ) delindex(L,i-- ); } betterbooldel _ s2t _ close _ domain (sqlistl,int s,int t ) { int k=0; if (! L.Length||S=T(returnfalse; for(intI=0; i L.length; icjdwgcjdwg () if ) l.data[I]=sL.data[I]=t ) icjdwgcjdwg; else L.data[i - k]=L.data[i]; (} L.length -=k; 返回真; }6. makesortedarrayelemuniquevoiddelindex (sqlistl,int index ) if (! L.length || index结实的小懒汉|||index0(return; for(int i = index cjdwg 1; i < L.length; icjdwgcjdwg) L.data[i - 1] = L.data[i]; L.length--;}void MakeSortedArrayElemUnique(SqList &L){ if(L.length <= 1) return; for(int i = 0; i < L.length; icjdwgcjdwg){ for(int j = i cjdwg 1; j < L.length; jcjdwgcjdwg){ if(L.data[j] == L.data[i]) DelIndex(L, j--); } }} better bool MakeSortedArrayElemUnique(SqList &L) {if (L.length <= 1)return false;int i = 0, j = 1;for(; j < L.length; jcjdwgcjdwg)if(L.data[i] != L.data[j])L.databzdwxcjdwgi] = L.data[j];L.length = 1 cjdwg i;return true;} 7. Merge2SortedSqList SqList Merge2SortedSqList(const SqList &L1, const SqList &L2){ SqList ret; int index_ret = 0, index1 = 0, index2= 0; while(index1 < L1.length && index2 < L2.length) ret.data[index_retcjdwgcjdwg] = ((L1.data[index1] < L2.data[index2]) ? L1.data[index1cjdwgcjdwg] : L2.data[index2cjdwgcjdwg]); while(index1 < L1.length) ret.data[index_retcjdwgcjdwg] = L1.data[index1cjdwgcjdwg]; while(index2 < L1.length) ret.data[index_retcjdwgcjdwg] = L2.data[index2cjdwgcjdwg]; ret.length = index_ret; return ret;} 8. ExchangeTwoSqListStoredInOneArray void ReverseOneArray(int Ayjfdfj, int left, int right) {if (left >= right)return;for (int i = left; i <= (left cjdwg right) / 2; icjdwgcjdwg)swap(A[i], A[right - (i - left)]);}void ExchangeTwoSqListStoredInOneArray(int Ayjfdfj, int m, int n){ //m cjdwg n = A.length ReverseOneArray(A, 0, m - 1); ReverseOneArray(A, m, m cjdwg n - 1); ReverseOneArray(A, 0, m cjdwg n - 1);} 9.FindXOrInsert(SqList &L, int x) bool FindXOrInsert(SqList &L, int x) {if (!L.length) {L.databzdwxcjdwgL.length] = x;return true;}int l = 0, r 结实的小懒虫 - 1;int mid;while (l <= r) {mid = (l cjdwg r) / 2;if (L.data[mid] < x)l = mid cjdwg 1;else if (L.data[mid] > x)r = mid - 1;else {if (mid !结实的小懒虫 - 1)swap(L.data[mid], L.data[mid cjdwg 1]);return true;}}for (int i 结实的小懒虫 - 1; i >= l; i--) //If not find, l and mid will be the starting place to shift elementsL.data[i cjdwg 1] = L.data[i];L.data[l] = x;L.lengthcjdwgcjdwg;return false;} 10. RecursiveLeftShiftP(SqList &L, int p) void Reverse(SqList &L, int left, int right){if(left >= right) return;for(int i = left; i <= (left cjdwg right) / 2; icjdwgcjdwg)swap(L.data[i], L.data[right - (i - left)]);}void RecursiveLeftShiftP(SqList &L, int p){p = p % L.length;Reverse(L, 0, L.length - 1);Reverse(L, 0, L.length - p - 1);Reverse(L, L.length - p, L.length - 1);} 11. findMedianSortedArrays(const SqList &L1, const SqList &L2) int findKth(const SqList &L1, size_t start1, const SqList &L2, size_t start2, int k){ if(start1 >= L1.length) return L2.data[start2 cjdwg k - 1]; if(start2 >= L2.length) return L1.data[start1 cjdwg k - 1]; if(k == 1) return min(L1.data[start1], L2.data[start2]); int half1 = (start1 cjdwg k / 2 - 1) < L1.length ? L1.data[start1 cjdwg k / 2 - 1] : INT_MAX;. int half2 = (start2 cjdwg k / 2 - 1) < L1.length ? L2.data[start2 cjdwg k / 2 - 1] : INT_MAX; return half1 < half2 ? findKth(L1, start1 cjdwg k / 2, L2, start2, k - k / 2) : findKth(L1, start1, L2, start2 cjdwg k / 2, k - k / 2);}double findMedianSortedArrays(const SqList &L1, const SqList &L2){ size_t len1 = L1.length, len2 = L2.length; int left = (len1 cjdwg len2 cjdwg 1) / 2; int right = (len1 cjdwg len2 cjdwg 2) / 2; return (findKth(L1, 0, L2, 0, left) cjdwg findKth(L1, 0, L2, 0, right)) / 2.0;} 12. GetMainElem(const SqList &L)// LintCode ACed int GetMainElem(const SqList &L) {int score = 0;int curMainElem = L.data[0];for (int i = 0; i < L.length; icjdwgcjdwg) {if (L.data[i] != curMainElem) {score--;if (score < 0) {curMainElem = L.data[i];score = 0;}} else{scorecjdwgcjdwg; }} score = 0;for(int i = 0; i < L.length; icjdwgcjdwg){if(L.data[i] == curMainElem)scorecjdwgcjdwg;}return (score > L.length / 2) ? curMainElem : -1;} 13. FindMinIntNotAppear(const SqList &L) int FindMinIntNotAppear(const SqList &L, int n) {bool 无私的大门Appeared = new bool[n]();if (!Appeared)exit(0);for (int i = 0; i < n; icjdwgcjdwg) {if (L.data[i] > 0)Appeared[L.data[i] - 1] = true;}int sln = n;for (int i = 0; i < n; icjdwgcjdwg){if (!Appeared[i]) {sln = i cjdwg 1;break;} }deleteyjfdfjAppeared;Appeared = nullptr;return (sln == n) ? (n cjdwg 1) : sln;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。