刷题
/ 593
这个作者很懒,什么都没留下…
展开
-
leetcode349. 两个数组的交集 ----日常刷题
349. 两个数组的交集//双指针+排序:其实就是把两个数组进行排序,然后用双指针进行滑动对比就可以了。//排序+二分法: 把一个短的数组如nums1进行排序,然后nums2中的每一个元素在nums1中进行二分查找ps:二分法目前存在漏洞,待完善。排序+双指针代码实现/*int cmp(void *lhsPtr, void *rhsPtr) { return (*(int*)lhsPtr > *(int*)rhsPtr) - (*(int*)lhsPtr &l原创 2020-08-01 21:21:42 · 145 阅读 · 0 评论 -
leetcode 1365. 有多少小于当前数字的数字--日常刷题
1365. 有多少小于当前数字的数字提示:2 <= nums.length <= 5000 <= nums[i] <= 100第一种 简单的双循环不多注解*int* smallerNumbersThanCurrent(int* nums, int numsSize, int* returnSize){//双循环int*ans=calloc(numsSize,sizeof(int));int i,j;for(i=0;i<numsSize;i++){ f原创 2020-08-01 14:59:04 · 155 阅读 · 0 评论 -
leetcode:1512. 好数对的数目--日常刷题
1512. 好数对的数目主要为了练习哈希表截图来源:https://leetcode-cn.com/problems/number-of-good-pairs/1、可以利用hash table记录不同数字出现的个数;2、当某个数字的个数出现的次数大于等于2就存在好数对;当重复的次数是n,那么好数对就增加 n(n-1)/2;3、遍历统计好的hash table就可以得到答案;// 依据题意限定// 1 <= nums.length <= 100// 1 <= nums[i]原创 2020-07-31 20:30:08 · 148 阅读 · 0 评论 -
leetcode 面试题08.03 魔术索引--日常刷题
leetcode 面试题08.03 魔术索引二分剪枝思路与算法此问题如果用暴力的方法来解决,我们只需要对原数组从前往后进行一次遍历,找到第一个可行的位置返回即可,这里不再赘述。而本方法会进行一定程度的剪枝,在一些情况下会达到较优的时间复杂度,在最差情况下仍会退化成线性的时间复杂度,这里我们分两种情况讨论。第一种情况是数组中只有一个满足条件的答案。我们假设这个答案为 ii,那么意味着 [0 \ldots i-1][0…i−1] 的值均小于自身的下标,[i+1 \ldots n-1][i+1…n−1]原创 2020-07-31 13:45:06 · 176 阅读 · 0 评论