- 博客(2)
- 收藏
- 关注
原创 Leetcode(1) Array系列1
Leetcode(1) Array: two sum leetcode的第一道题——两数之和。 当我第一眼看到题目的时候,思路很清晰,可以直接用双循环就可以解决了。但是O(n2)的时间消耗并不能令我满意。因此,这里我们可以使用第二种方法:哈希表(散列表) class Solution { public int[] twoSum(int[] nums, int target) { HashMap <Integer,Integer> hashtable = new Hash
2021-03-31 21:25:13 77
原创 算法 快速幂运算+最大公约数
快速幂运算 当我们需要计算x^n时,这看起来似乎十分简单。只要将x一个接一个地相乘,经过n次之后就能得到答案了。这个算法看起来十分简单,但是该算法的复杂度为O(n)。 以计算2^19为例,如果我们不进行一步步地乘法,而是将其拆分成更小的次方相乘,那么问题就将得到简化。因此,快速幂运算算法的复杂度为O(logn)。 快速幂运算的C++代码实现如下: //2^19=2^16*2^2*2^1 long pow_2(long a,long b){ long x=a; //以a为底,也可以换成以其他数
2020-07-08 19:15:25 299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人