随笔分类 -  leetcode算法题

摘要:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] python解决方案: # 通过递归的方式生成子集 class Sol 阅读全文
posted @ 2020-01-15 16:28 秦qin 阅读(477) 评论(0) 推荐(0)
摘要:问题:给定一个字符串,查找其最长无重复字符的子串,并输出其长度 示例: 输入:"abcabcbb" 输出:3 输入:"bbbbbb" 输出:1 C解决方案: 阅读全文
posted @ 2019-08-30 16:12 秦qin 阅读(1577) 评论(0) 推荐(0)
摘要:问题:N皇后问题,给定一个正整数n,输出在n*n的方格中所有的皇后问题的解决办法 示例: 阅读全文
posted @ 2019-06-13 13:23 秦qin 阅读(137) 评论(0) 推荐(0)
摘要:问题:给定一个由字符串构成的列表,将列表中的字符串分组并输出,字符串的构成字母完全相同则分为一组 示例: 输入:["abc","ten","mbr","nte","cba","bca","brm"] 输出:[["abc","cba","bca"],["ten","nte"],["mbr","brm" 阅读全文
posted @ 2019-05-27 20:52 秦qin 阅读(99) 评论(0) 推荐(0)
摘要:问题:给定一个N x N的数组,将数组元素顺时针旋转90度,并且要求不使用另外的数组 示例: 输入: matrix变为: matrix变为: # 根据n的大小,确定需要旋转多少个轮次 # 每个轮次,将所有会旋转的点按照旋转的路径(菱形)划分为多个组,每个组中的元素个数为n # 先旋转端点,再旋转其他 阅读全文
posted @ 2019-05-25 11:34 秦qin 阅读(139) 评论(0) 推荐(0)
摘要:Permutations 问题:给定一个无重复元素的数组,输出其中元素可能的所有排列 示例: 输入:[2,3,4] 输出:[ [2,3,4], [2,4,3], [3,2,4], [3,4,2], [4,2,3], [4,3,2] ] 解决思路:循环加递归 Permutations II 问题:给定 阅读全文
posted @ 2019-05-11 10:49 秦qin 阅读(163) 评论(0) 推荐(0)
摘要:问题:给定一个非负的数组,数组中的元素值代表可以移动的距离,输出从数组起始位置到最后一个位置需要的最小移动次数 示例: 输入:[2,3,1,1,4] 输出:2 解决思路:遍历数组,从起始位置开始,考察该位置最大移动距离内的元素,找到这些元素中可移动到最远处的元素 Python代码: 阅读全文
posted @ 2019-05-10 11:53 秦qin 阅读(95) 评论(0) 推荐(0)
摘要:问题:给定两个字符串s和p,s是小写字母组成的字符串,p中除了小写字母外,还可能有“?”和“*”。判断按照正则表达式的规则,p能否和s匹配成功。("?"匹配任意单个字符,"*"匹配多个任意字符,包括空字符) 示例: 输入:s = "bb" p = "b" 输出:False 输入:s = "ab" p 阅读全文
posted @ 2019-05-09 14:23 秦qin 阅读(131) 评论(0) 推荐(0)
摘要:问题:给定一个由非负整数组成的数组,数组元素代表柱体高度,求该数组所代表的这些柱体能容纳的水的体积 示例: 输入:[0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解决思路:遍历数组,使用变量保存当前最大值和位置。如果遍历到的元素不小于该值,(并且且如果两者位置间隔超过1,则计算两者之间 阅读全文
posted @ 2019-05-08 11:28 秦qin 阅读(105) 评论(0) 推荐(0)
摘要:问题:给定一个无序数组,输出其中不存在的最小正整数 示例: 输入:[1,3,4] 输出:2 输入:[2,-1,1,4,5,4] 输出:3 输入:[6,5,4,7,8] 输出:1 解决思路:遍历数组中的元素i,如果为正整数且不大于数组的长度,则将其调整到 i - 1的位置处。之后,对调整后的数组进行遍 阅读全文
posted @ 2019-05-07 12:54 秦qin 阅读(83) 评论(0) 推荐(0)
摘要:问题:给定一个无重复的数组candidates和一个目标值target,根据数组中的元素输出和为目标值的所有可能组合,数组中的每个元素不能多次使用,输出结果不能有重复的组合。数组中的数和target均为正数 示例: 输入:candidates = [1,2,3,5,6] target = 6 输出: 阅读全文
posted @ 2019-05-06 11:23 秦qin 阅读(83) 评论(0) 推荐(0)
摘要:问题:给定一个无重复的数组candidates和一个目标值target,根据数组中的元素输出和为目标值的所有可能组合,数组中的每个元素可以多次使用,输出结果不能有重复的组合 示例: 输入:candidates = [2,3,6,8] target = 8 输出:[[2,2,2,2],[2,3,3], 阅读全文
posted @ 2019-05-05 10:20 秦qin 阅读(71) 评论(0) 推荐(0)
摘要:问题:给定一个9*9的二维数组,数组元素为1~9的字符串,“.”代表该位置为空,将“.”替换为1~9的字符串,使数组中的数据满足数独的规则 示例: 解决思路:先进行一次9*9的遍历,统计已有的数据,再进行遍历,如果该位置为空,则循环 使用1~9中的字符串进行填充,递归的填充后面的空位,如果某个位置不 阅读全文
posted @ 2019-05-01 13:22 秦qin 阅读(114) 评论(0) 推荐(0)
摘要:问题: 解决思路:从1到n,按照规则循环读取即可 Python代码: 阅读全文
posted @ 2019-05-01 11:43 秦qin 阅读(161) 评论(0) 推荐(0)
摘要:问题:给定一个9*9的二维数组,数组元素为1~9的字符串,“,”代表为空,判断其数据的排列是否符合九宫格的规则 示例: 解决思路:分别以行、列、3*3的小九宫格为单位,使用字典对元素进行计数,初始化全部为0;对输入数组的每一个元素进行遍历,“,”跳过,数字字符则判断其在对应行、列、小九宫格中的计数是 阅读全文
posted @ 2019-04-22 11:31 秦qin 阅读(100) 评论(0) 推荐(0)
摘要:问题:给定一个有序数组和一个目标值,输出目标值在数组中的起始位置和终止位置,如果目标值不在数组中,则输出[-1,-1] 示例: 输入:nums = [1,2,3,5,5,7] target = 5 输出:[3,4] 输入:nums = [1,5,8,9] target = 7 输出:[-1,-1] 阅读全文
posted @ 2019-04-18 11:57 秦qin 阅读(99) 评论(0) 推荐(0)
摘要:问题:给定一个有序的数组和一个目标值,将数组分为两部分并且交换顺序后,从数组中找到目标值的位置,如果目标值不在数组中,则输出-1 示例: 输入:nums = [3,4,5,6,0,1,2] target=5 输出:2 输入:nums = [4,6,7,1,2,3] target=0 输出:-1 解决 阅读全文
posted @ 2019-04-17 15:48 秦qin 阅读(79) 评论(0) 推荐(0)
摘要:问题:给定一个只包含 "(" 和 ")" 的字符串,寻找其括号配对的最长子串,输出其长度 示例: 输入:"())" 输出:2 输入:"(()()()(" 输出:6 解决思路:利用栈来解决,遍历索引进行压栈和弹栈,最后栈中只剩下没有配对成功的索引位置,配对成功的子串长度记为栈中的相邻元素之差减1 Py 阅读全文
posted @ 2019-04-16 10:21 秦qin 阅读(93) 评论(0) 推荐(0)
摘要:问题:给定一个数组,输出对该数组排序时只比当前数组大一级的数组,如果没有,则输出从低到高的排序数组 示例: 输入:[1,2,3] 输出:[1,3,2] 输入:[3,2,1] 输出:[1,2,3] 输入:[5,5,7] 输出:[5,7,5] 解决思路:从右到左,固定某个位置,从右到该位置之前的一个位置 阅读全文
posted @ 2019-04-15 12:21 秦qin 阅读(135) 评论(0) 推荐(0)
摘要:问题:给定一个字符串s和一个由多个等长字符串组成的列表words,输出列表中的字符串组成的整体在s中的所有可能的位置 示例: 输入:s = "abcmmedfrgaqwedfrmme" words=["mme","dfr"] 输出:[3,14] 解决思路:从0开始对words进行遍历,判断长度为w_ 阅读全文
posted @ 2019-04-11 13:01 秦qin 阅读(127) 评论(0) 推荐(0)