算法
混沌鼠
北极星
展开
-
Leetcode打卡系列------5
231. 2的幂题目描述:给定一个整数,编写一个函数来判断它是否是2的幂次方示例:输入:1输出:true思路:把输入的数n用2进制表示,则n与(n-1)的位运算一直为0,同时n>0#参考代码:class Solution: def isPowerOfTwo(self, n: int) -> bool: #n>0,并且n与n-1的位运算一直等于0 return n > 0 and n & (n - 1) == 0...原创 2020-06-06 21:23:00 · 108 阅读 · 0 评论 -
Leetcode打卡系列------4
面试题10.02.变位词组题目描述:编写一种方法,对字符串数组进行排序,将所有变位词组合在一起,变位词是指字母相同,但排列不同的字符串。示例:输入:[“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[ [“ate”, “eat”, “tea”], [“nat”,“tan”], [“bat”] ]思路:这里首先利用循环对各个字符串进行排序,之后利用.join()把排序后的字符串连接起来,最后把连接好的字符串当作字典的Key,把key值相同的合并起来,最后返回字原创 2020-06-05 22:14:31 · 201 阅读 · 0 评论 -
Letcode打卡系列------3
986. 区间列表的交集题目描述:给定两个由一些闭区间组成的列表,每个区间都是成对且不相交的,并且已经排序,返回这两个区间列表的交集。示例:输入: A=[[0,2],[5,10],[13,23],[24,25]], B=[[1,5],[8,12],[15,24],[25,26]]输出:[[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]]思路:如果A区间的起点在B区间起点的左边或重合,则A区间的终点要在B区间起点的右边或重合,才会有交集。如果A区间的起点在B区间原创 2020-06-04 20:23:27 · 107 阅读 · 0 评论 -
Leetcode打卡系列------2
50. Pow(x,n)实现pow(x,n),计算x的n次幂函数示例:输入:2.00000,10输出:1024.00000思路:这里对n进行进制转换,借用2进制的思想,来减少反复循环的次数,减少系统资源的消耗。#参考代码class Solution: def myPow(self, x: float, n: int) -> float: def quickMul(N): ans = 1.0 # 贡献的初始值为 x原创 2020-06-02 21:49:58 · 129 阅读 · 0 评论 -
Leetcode 打卡系列------1
打卡第一天697.数组的度题目描述:给定一个非空且只包含非负的整数组nums,数组的度定义是指数组里任一元素出现频数的最大值。任务:找到与nums拥有相同大小的度的最短连续子数组,返回其长度示例:输入:[1, 2, 2, 3, 1]输出:2思路:用3个字典分别存储每个元素第一次出现位置、最后一次出现位置和出现次数,最短的数组就是x的一次出现到最后一次出现的数组。#参考代码class Solution: def findShortestSubArray(self, nums: Lis原创 2020-06-01 21:59:23 · 147 阅读 · 0 评论