- 博客(4)
- 收藏
- 关注
原创 322.零钱兑换
所以整体的一个暴力求解方法,说实话,有点复杂,时间复杂度也高。我们以上面的例子来列举递归过程:首先是第一层:amount=100->amount=99->amount=98->....,然后是第二层:amount=98->amount=97->amount=96->...,欸等等,amount=98,amount=97,amount=96的结果在第一层不是已经计算过了吗?换种思路嘛:2.3的方式其实是递归,就是从后面往前面求,其实我们也应该可以做到从前面往后面求的,反正怎么从n-1求n,我们是已经知道的。
2024-03-31 23:18:44 248
原创 1128.等价多米诺骨牌对的数量
2.2.特殊解法:如何降时间复杂度呢?现在是两层嵌套遍历,有没有办法只用一次遍历就能解决问题呢?如果对dominoes遍历一次,那么我们可以对dominoes中的元素进行统计,统计每个元素出现了多少次,然后通过排列组合的方式求解共可以组成多少对。2.1.暴力遍历:两层嵌套for循环,可以轻易实现暴力遍历,还是比较简单的。但是缺点也是比较明显的,就是时间复杂度会比较高,当输入较长时,运行速度太慢。其实也是非常简答的啦~
2024-03-27 00:23:28 134
原创 4.寻找两个正序数组的中位数
在理想情况下,即假设每次拿到的基准元素都是中间值的情况下,由于每次遍历的次数都会变为原来的一半,因此时间复杂度为O((n-1)+(n-1)/2*2+(n-1)/4*4+...)=O(n*log2(n))。对比暴力排序的方式,以正序排序为例,每次都需要通过遍历的方式获取数组中的最小值,暴力排序的时间复杂度为O((n-1)+(n-2)+(n-3)+...)=O(n^2-(1+n)*n/2)=O(n^2)。先取nums2中的第一个元素,放到nums1的开头,然后使用冒泡排序往后排,找到合适的位置;
2024-03-22 00:21:58 316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人