劍指offer刷題第八天

2021-08-26 23:29:48 字數 2821 閱讀 1428

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。 即輸出p%1000000007

class solution

return inversepairscore(data, copy, 0, len - 1) % 1000000007;

}long long inversepairscore(vector&data, vector©, int start, int end)

int tempmed = start + ((end - start) >> 2);

result += inversepairscore(copy, data, start, tempmed);

result += inversepairscore(copy, data, tempmed + 1, end);

/*int leftseq = tempmed;

int rightseq = end;

int tempseq = end;

while(leftseq >= start && rightseq > tempmed)else

}while(leftseq>=start)

while(rightseq>tempmed)*/

int leftseq = start;

int rightseq = tempmed + 1;

int tempseq = start;

while (leftseq <= tempmed && rightseq <= end)

else

}while(leftseq <= tempmed)

while(rightseq <= end)

return result;}};

輸入兩個鍊錶,找出它們的第乙個公共結點。

/*struct listnode

};*/

class solution

if(circle(phead1)|| circle(phead2) == false)

}if(plen1 < plen2)

}while(tempnode1 != null && tempnode2 != null)

tempnode1 = tempnode1->next;

tempnode2 = tempnode2->next;

}}*/

int plen1 = getlen(phead1);

int plen2 = getlen(phead2);

if(plen1 > plen2)

}if(plen1 < plen2)

}while(tempnode1 != null && tempnode2 != null)

tempnode1 = tempnode1->next;

tempnode2 = tempnode2->next;}}

return result;

}int getlen(listnode* head)

return plen;}};

統計乙個數字在排序陣列中出現的次數。

class solution

tempindex = kindex+1;

while (tempindexdata,int start,int end, int k)

};*/

class solution

int leftdepth = 1;

int rightdepth = 1;

if(proot->left != null)

if(proot->right != null)

return leftdepth>rightdepth?leftdepth:rightdepth;}};

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。

class solution

if(proot->right != null && !isbalanced_solution(proot->right))

int leftdepth = treedepth(proot->left);

int rightdepth = treedepth(proot->right);

if(abs(leftdepth-rightdepth)<2) return true;

return false;

}int treedepth(treenode* proot)

int leftdepth = 1;

int rightdepth = 1;

if(proot->left != null)

if(proot->right != null)

return leftdepth>rightdepth?leftdepth:rightdepth;}};

乙個整型陣列裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。

小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和為s的連續正數序列? good luck!

class solution

if(count == sum)}}

return result;}};

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。

class solution

}return result;}};

開課第八天

開課第八天,今天因為遲到問題被老師訓了,呵呵,說實話是真的感覺前一周有點懶散鬆懈,今天被訓之後又感覺到了緊迫感,嗯,堅持就是勝利,加油。上午講題,下午講新知識,以下就是本寶寶吸收的新養料 方法 可以被稱作函式,也可以被稱作功能。1 main 是我們學習的第乙個簡單的方法,public static ...

彙編第八天

彙編形式目標 main proc push ebp mov ebp,esp 建立堆疊框架 push offset msg 匯入引數位址 call printf 呼叫函式 xor eax,eax 返回0 pop epb 扯掉框架 ret 0 返回主程式 main endp 結束 1.條件語句 cmp ...

前端第八天

迴圈繫結的變數汙染 在進行事件迴圈變數繫結時,由於函式體內部 並未執行,在繫結結束後,呼叫函式時,賦予的部分變數失去意義,解決方案 給頁面元素新增乙個任意屬性 事件與已有的函式進行繫結 只需要將函式位址繫結給事件,事件繫結完成將會有系統在特定情況下自動觸發 物件 字典 的增刪改查 物件元素格式為字串...