摘要:
题目:统计一个数字在排序数组中出现的次数。思路:1、顺序遍历顺序扫描一遍数组,统计该数字出现的次数。时间复杂度:O(n)2、二分查找假设我们需要找的数字是k,那么就需要找到数组中的第一个k和最后一个k出现的位置。如何通过二分查找得到第一个k的位置呢?取数组中间的数字与k作比较,如果该数字比k大,那么... 阅读全文
摘要:
题目:输入两个链表,找出它们的第一个公共结点。链表结点的定义如下:struct ListNode{ int val; ListNode* next; ListNode(int x):val(x),next(NULL){};};思路:1、暴力法遍历第一个链表,每遍历到一个结点,在第二... 阅读全文
摘要:
题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路:1、顺序扫描顺序扫描整个数组,每扫描到一个数字,就将该数字跟后面的数字比较,如果大于的话,则这两个数字构成了逆序对。(比较简单,这里就不贴出代码)时间复杂度:O(n... 阅读全文