随笔分类 -  算法

上一页 1 2 3 4 5 6 下一页

算法22-----托普利茨矩阵leetcode766
摘要:1、题目 如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。 示例 1: 示例 2: 说明: 2、思路: 按每行遍历: 【其实不用分的,自己又犯蠢了】直接判断上一行【0:-1】和下一行【1: 阅读全文

posted @ 2018-08-11 21:15 吱吱了了 阅读(277) 评论(0) 推荐(0)

算法21----重塑矩阵 LeetCode566
摘要:1、题目 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。 重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。 如果具有给定参 阅读全文

posted @ 2018-08-11 17:51 吱吱了了 阅读(304) 评论(0) 推荐(0)

算法20-----卡诺兰数
摘要:1、卡诺兰概念: 卡诺兰数列的递推关系:h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2),这是n阶递推关系; 数列的通项:F(n)=C(2n,n)/(n+1) 2、可以解决的问题: 参考链接:https://www.cnblogs 阅读全文

posted @ 2018-06-21 19:31 吱吱了了 阅读(323) 评论(0) 推荐(0)

算法19-----(位运算)找出数组中出现只出现一次的数
摘要:题目: 前三题都可以用集合和来求。【sum(set(nums))*N-sum(nums)】 1、数组中别的数都出现2次,只有一个数出现1次,找出该数。 2、数组中别的数都出现3次,只有一个数出现1次,找出该数。 3、数组中别的数都出现N次,只有一个数出现1次,找出该数。 4、数组中别的数都出现2次, 阅读全文

posted @ 2018-06-02 10:48 吱吱了了 阅读(1207) 评论(0) 推荐(0)

算法18-----判断是否存在符合条件的元素【list】
摘要:1、题目: 给定一个整数数组,判断其中是否存在两个不同的下标i和j满足:| nums[i] - nums[j] | <= t 并且 | i - j | <= k 2、思路: 来自链接:http://bookshadow.com/weblog/2015/06/03/leetcode-contains- 阅读全文

posted @ 2018-05-16 10:34 吱吱了了 阅读(361) 评论(0) 推荐(0)

算法17-----判断3的幂
摘要:1、题目: 判断一个整数是否为3额幂。 2、思路: 来自链接:https://www.jianshu.com/p/8dcb1307c0db 由于输入是int,正数范围是0-231,在此范围中允许的最大的3的次方数为319=1162261467,那么我们只要看这个数能否被n整除即可。 阅读全文

posted @ 2018-05-14 13:20 吱吱了了 阅读(324) 评论(0) 推荐(0)

算法16-----字符串中的第一个唯一字符
摘要:1、题目 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: 2、代码:第一个出现相同的就消掉一样的,用replace。 阅读全文

posted @ 2018-05-10 17:15 吱吱了了 阅读(250) 评论(0) 推荐(0)

算法15-----找到所有数组中消失的数字
摘要:1、题目: 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外 阅读全文

posted @ 2018-05-10 15:58 吱吱了了 阅读(188) 评论(0) 推荐(0)

算法14-----位运算操作(1)
摘要:1、应用技巧1:与&【消除x(二进制)最后一位1】 应用三:判断n是否为4的幂: 2、应用技巧2:子集 3、应用技巧3:异或 java代码: 阅读全文

posted @ 2018-05-08 00:50 吱吱了了 阅读(299) 评论(0) 推荐(0)

算法13------集合所有的子集或者字符串所有子串
摘要:1、题目: 给定字符串s=‘abc',所有子集:'a','b','c','ab','ac','bc','abc'。 所有子串:’a','b','c','ab','bc','abc' 2、所有子集代码: (1)位运算:(输入s为字符串)(输出subStr为迭代器,子集列表) (2)回溯法: (3)Py 阅读全文

posted @ 2018-05-07 17:57 吱吱了了 阅读(2342) 评论(0) 推荐(0)

算法12-----词典中最长的单词
摘要:1、题目 给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。 若无答案,则返回空字符串。 示例 1: 示例 2: 注意: 所有输入的字符串都只包含小写字母。 words 阅读全文

posted @ 2018-04-29 15:43 吱吱了了 阅读(1066) 评论(0) 推荐(0)

算法11----判断是否为回文词(双端队列判断)
摘要:1、题目: 给定一个字符串s,判断其是否回文词 2、思路: 采用双端队列实现,从两边弹出字母,判断是否相同,若相同则继续,直到队列中只剩一个或者没有元素。 3、代码: 阅读全文

posted @ 2018-04-28 15:36 吱吱了了 阅读(410) 评论(0) 推荐(0)

算法10-----分糖果
摘要:1、题目: N个孩子在队伍中,每个孩子都有一定的等级值,相邻两个孩子等级高的拿到的糖果数量要比等级低的多,且每个孩子至少有一个糖果,所以最少队伍一共需多少糖果。 There are N children standing in a line. Each child is assigned a rat 阅读全文

posted @ 2018-04-28 14:10 吱吱了了 阅读(339) 评论(0) 推荐(0)

算法9-----输出全排列(递归)---移除K个数,剩下最小数。
摘要:1、题目:给定一个字符串,输出所有的字典序。 如: 输入字符串:'ac',输出:['ac','ca'] 输入字符串:‘abc' ,输出:['abc','acb','bac','bca','cab','cba'] 输入字符串:‘acc',输出:['acc','cac','cca'] 2、递归: 如:' 阅读全文

posted @ 2018-04-27 21:55 吱吱了了 阅读(1865) 评论(0) 推荐(0)

算法8-----罗马字转整数(分治法)
摘要:1、题目: 给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。 字符 数值I 1V 5X 10L 50C 100D 500M 1000 如: 输入: "XLVIII"输出: 48解释: X= 10, L = 50,III = 3.【X在L前:XL则表示40】 2、思路: 分治 阅读全文

posted @ 2018-04-27 18:37 吱吱了了 阅读(328) 评论(0) 推荐(0)

算法8-----Different Ways to Add Parentheses(不同括号结果)
摘要:题目: Given a string of numbers and operators, return all possible results from computing all the different possible ways to group numbers and operators 阅读全文

posted @ 2018-04-24 12:21 吱吱了了 阅读(269) 评论(0) 推荐(0)

算法7-------搜索二维矩阵
摘要:题目: 编写一个高效的算法来搜索 m x n 矩阵中的一个目标值。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 例如, 考虑下面的矩阵: 给定目标值 target = 5, 返回 true。 给定目标值 target = 20, 返回 false。 解法1:时间复 阅读全文

posted @ 2018-04-24 00:03 吱吱了了 阅读(991) 评论(0) 推荐(1)

算法6-----查找两个有序数组合并之后的中位数
摘要:1、题目: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。 2、法1:归并排序 nums1的最后一个数和nums2的最后一个数对比。如果nums1的值大,将该值存入新的结果数组中,并将nums 阅读全文

posted @ 2018-04-23 14:48 吱吱了了 阅读(1186) 评论(0) 推荐(0)

算法1----两数之和
摘要:给定一个整数数列,找出其中和为特定值的那两个数。 你可以假设每个输入都只会有一种答案,同样的元素不能被重用。 示例: 别人的代码:(时间复杂度为n) 用字典的key,value来存储两个值,其中key用来存储nums的值,value用来存储nums的索引。 阅读全文

posted @ 2018-04-20 13:08 吱吱了了 阅读(291) 评论(0) 推荐(0)

算法5-----三个数大小比较
摘要:题目: X,Y,Z三个整数,若干次操作让X,Y,Z变为相等,每次操作有两种操作可选: 操作1:从X,Y,Z中选择两个数,都加1 操作2:从X,Y,Z选择一个数,加2 计算最少需要多少次操作令X,Y,Z变为相等。 输入:三个整数A,B,C(0<=A,B,C<=100) 输出:一个整数表示最少需要的操作 阅读全文

posted @ 2018-04-20 13:06 吱吱了了 阅读(2032) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 下一页

导航