
LeetCode
hxy-1
这个作者很懒,什么都没留下…
展开
-
LeetCode java-17. 电话号码的字母组合
LeetCode java-17. 电话号码的字母组合(题目来自力扣网)思路回溯法参考代码电话号码的字母组合给出如下回溯函数 backtrack(combination, next_digits) ,它将一个目前已经产生的组合combination 和接下来准备要输入的数字 next_digits 作为参数。代码import java.util.ArrayList;import java.util.HashMap;import java.util.List;import jav原创 2020-06-17 12:02:06 · 246 阅读 · 0 评论 -
LeetCode java-401. 二进制手表
LeetCode java-401. 二进制手表(题目来自力扣网)思路暴力递归遍历从00:00到11:59之间1 的个数count(int n) 函数是为了遍历一个数有几个1代码import java.util.ArrayList;import java.util.LinkedList;import java.util.List;public class ReadBinaryWatch { public List<String> readBinaryWatch原创 2020-06-16 18:52:11 · 249 阅读 · 0 评论 -
LeetCode java-784. 字母大小写全排列
LeetCode java-784. 字母大小写全排列(题目来自力扣网)思路方法一:递归法解释代码:ans.add(new StringBuilder()); 添加一个空字符串ans.add(new StringBuilder(ans.get(i))); 起到复制代码的作用具体步骤如下:方法二:回溯法Leetcode.784 字母大小写全排列当前字符若是数字则直接搜索下一个位置。若当前是英文字母,则分成两种情况分别向下搜索。当前下标与字符串长度相等则将变量串添加到结果集合中。原创 2020-06-16 12:06:44 · 421 阅读 · 0 评论 -
LeetCode python-179. 最大数
LeetCode python-179. 最大数先看题目:(题目来自力扣)方法一:思路:通过遍历 i 和 j,将数组里的数转换成字符串,通过拼接并比较大小,最后通过空串(‘’)连接并输出。class Solution: def largestNumber(self, nums): n = len(nums) for i in range(n):...原创 2019-10-24 16:32:12 · 895 阅读 · 0 评论 -
LeetCode python-148. 排序链表
LeetCode python-148. 排序链表先看题目:(题目来力扣网站)思路:因为时间复杂度是nlogn,所以采用二分法。假设是n = 2^k个输入,经过二分法,有 k = logn层。每一层排序的时间复杂度是n,故整体时间复杂度是nlogn。方法一:在 left, right = self.sortList(head), self.sortList(mid)之前实现二分法操作,...原创 2019-10-23 15:32:53 · 301 阅读 · 0 评论 -
LeetCode python-147. 对链表进行插入排序
LeetCode python-147. 对链表进行插入排序先看题目:(题目来力扣网站)# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: def i...原创 2019-10-17 23:01:25 · 312 阅读 · 0 评论 -
LeetCode python-75. 颜色分类
LeetCode python-75. 颜色分类先看题目:(题目来力扣网站)思路①创建三个指针②如果中间指针从头开始索引:若值num[k]=0,则和nums[i] 的值交换位置,此时i+1,代表i+1之前的索引不用再检测,已经检测过了;若值num[k]=2,则和nums[j] 的值交换位置,此时j-1,代表j-1之后的索引不用再访问,通过交换,已经知道后面的值;若值num[k]=...原创 2019-10-16 12:08:53 · 238 阅读 · 0 评论 -
LeetCode python-56. 合并区间
LeetCode python-56. 合并区间先看题目:(题目来力扣网站)思路①将列表按照第一个值排序。②重合情况。拿intervals里要比较的数组右端值和已经存在res中的左端值比较,若前者<=后者,则重叠,更新右端值并存入res。③不重合情况。将此intervals存入res即可。class Solution: def merge(self, interval...原创 2019-10-15 15:45:35 · 410 阅读 · 0 评论