算法
文章平均质量分 54
Microstrong0305
菜鸟程序猿
展开
-
【算法-面试题】给定一个数组,数组里的每一个单元都是字符串,请判断如果数组中有重复的字符串返回False,否则返回True。
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI微信公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!知乎主页:https://www.zhihu.com/people/MicrostrongAI/activitiesGithub:https://github.com/Microstrong0305个人博客:https://blo.原创 2020-05-15 14:18:30 · 1076 阅读 · 0 评论 -
【LeetCode】322. Coin Change
322.Coin ChangeDescription:You are given coins of different denominations and a total amount of moneyamount. Write a function to compute the fewest number of coins that you need to make up that ...原创 2020-01-26 23:59:54 · 501 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题37》两个链表的第一个公共结点
题目链接:https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46?tpId=13&tqId=11189&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述:...原创 2018-10-27 13:29:26 · 258 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题38》数字在排序数组中出现的次数
题目链接:https://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2?tpId=13&tqId=11190&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述:...原创 2018-12-11 16:06:57 · 411 阅读 · 0 评论 -
【LeetCode】309. Best Time to Buy and Sell Stock with Cooldown
309. Best Time to Buy and Sell Stock with CooldownDescription:Say you have an array for which the element is the price of a given stock on day i.Design an algorithm to find the maximum profit. ...原创 2019-01-10 18:04:18 · 913 阅读 · 0 评论 -
动态规划学习-【0-1背包问题】
题目描述:问题:0-1背包问题描述:有一个背包,它的容量为C(Capacity),现在有n种不同的物品编号分别为0...n-1,其中每一件物品的重量为w(i),价值为v(i)。问可以向这个背包中盛放哪些物品,使得在不超过背包容量的基础上,物品的总价值最大。解题思路:(1)暴力解法:每一件物品都可以放进背包,也可以不放进背包,有种情况。我们再从这种情形中选出总价值最大的物品,...原创 2019-01-11 12:18:38 · 5738 阅读 · 0 评论 -
【LeetCode】63. Unique Paths II
63. Unique Paths IIDescription:A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).The robot can only move either down or right at any point in time....原创 2019-01-01 23:46:07 · 860 阅读 · 0 评论 -
【LeetCode】213. House Robber ||
213. House Robber IIDescription:You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a c...原创 2019-01-06 15:14:49 · 829 阅读 · 0 评论 -
【LeetCode】337. House Robber |||
337. House Robber |||Description:The thief has found himself a new place for his thievery again. There is only one entrance to this area, called the "root." Besides the root, each house has one an...原创 2019-01-08 22:16:14 · 824 阅读 · 0 评论 -
动态规划学习-【0-1背包问题的优化和变种】
0-1背包问题的基本描述和解题算法请看:动态规划学习-【0-1背包问题】上面这篇文章我们已经得出0-1背包问题的状态转移方程:F(n, C)考虑将n个物品放进容量为C的背包,使得价值最大:F(i, C) = max( F(i - 1, C), v(i) + F(i - 1, C - w(i)))1. 空间复杂度为:O(2 * C)根据状态转移方程,我们可以分析出来,第i...原创 2019-01-15 13:27:30 · 2896 阅读 · 0 评论 -
动态规划经典题目总结
微信公众号在算法中,动态规划题目算是比较经典的一类题目。在找工作中,不管是笔试,还是面试,我们经常会遇到用动态规划来解决问题的情况,有时候面试官还需要我们现场手写出动态规划解法的代码。因此,在求职中能灵活的运用动态规划就相当重要了。下面我总结出了一些经典的动态规划题目,其中有些还是面试中遇到的。1. 什么是动态规划【1】牛客网在线编程专题《剑指offer-面试题9》斐波那契数列【...原创 2018-12-27 11:31:30 · 41135 阅读 · 0 评论 -
【LeetCode】62. Unique Paths
62. Unique PathsDescription:A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).The robot can only move either down or right at any point in time. Th...原创 2018-12-26 22:54:57 · 939 阅读 · 0 评论 -
【LeetCode】53. Maximum Subarray
我的相关文章:【1】牛客网在线编程专题《剑指offer-面试题31》连续子数组的最大和53.Maximum SubarrayDescription:Given an integer arraynums, find the contiguous subarray(containing at least one number) which has the largest sum...原创 2018-11-01 16:45:36 · 710 阅读 · 0 评论 -
【动态规划】Subarray Sum Equals K-子数组和为K
题目描述:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的子数组。如果存在该子数组返回true,否则返回false。输入输出:input:{3, 34, 4, 12,5, 2}output:true 解题思路:(1)最优子结构(2)状态转移方程(3)边界条件情况1:如果s=0时,直接返回true。情况2:当指针到数组下标为0...原创 2018-11-01 22:14:52 · 2181 阅读 · 0 评论 -
【LeetCode】343. Integer Break
343. Integer BreakDescription:Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get...原创 2018-11-09 15:20:09 · 2394 阅读 · 0 评论 -
【LeetCode】120. Triangle
120. TriangleDescription:Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For example, given the following triangle...原创 2018-11-02 22:57:02 · 2949 阅读 · 0 评论 -
【LeetCode】64. Minimum Path Sum
64. Minimum Path SumDescription:Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.Note: You can...原创 2018-11-05 22:57:00 · 2521 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题9:相关题目》矩形覆盖
题目链接:https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?tpId=13&tqId=11163&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述:...原创 2018-11-15 16:31:19 · 810 阅读 · 0 评论 -
【LeetCode】279. Perfect Squares
279. Perfect SquaresDescription:Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n.Example 1:Input: n = 12Output: 3...原创 2018-11-16 21:31:16 · 1572 阅读 · 1 评论 -
【LeetCode】91. Decode Ways
91. Decode WaysDescription:A message containing letters from A-Z is being encoded to numbers using the following mapping:'A' -> 1'B' -> 2...'Z' -> 26Given a non-empty string con...原创 2018-11-21 16:42:49 · 1227 阅读 · 0 评论 -
【LeetCode】416. Partition Equal Subset Sum
416. Partition Equal Subset SumDescription:Given a non-empty array containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both su...原创 2019-02-09 17:30:43 · 1315 阅读 · 0 评论 -
【算法编程题】Flipping signs
Description:Given a string made of '+' and '-' signs of length L ,the only allowed operation is to flip K consecutive signs at the same time.Input:String:length L,made of only ‘+’ and '-'Integ...原创 2019-02-18 18:07:30 · 761 阅读 · 0 评论 -
【算法】常见的复杂度分析
一、O(1)二、O(n)有时候,for循环的次数可能是,我们在计算时间复杂度时往往会忽略常数项,即时间复杂度为O(n)。如下:三、O()一般双重for循环时间复杂度为O(),但有时要看内层循环是否用到了外层循环的变量。如下的例子:四、O(logn)log中以2为底和以10为底的区别?以上算法时间复杂度为O(n*logn)五...原创 2019-06-14 22:57:16 · 579 阅读 · 0 评论 -
十大经典动态规划问题(Dynamic Programming Practice Problems)
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI微信公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!知乎专栏:https://zhuanlan.zhihu.com/MicrostrongGithub:https://gith...原创 2019-10-10 02:02:38 · 2001 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题28》字符串的排列
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!知乎专栏:https://zhuanlan.zhihu.com/MicrostrongGithub:https://githu...原创 2019-09-20 00:22:30 · 369 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题27》二叉搜索树与双向链表
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!知乎专栏:https://zhuanlan.zhihu.com/MicrostrongGithub:https://githu...原创 2019-09-06 00:48:05 · 267 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题25》二叉树中和为某一值的路径
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!知乎专栏:https://zhuanlan.zhihu.com/MicrostrongGithub:https://githu...原创 2019-08-30 02:10:24 · 323 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题24》二叉搜索树的后序遍历序列
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!知乎专栏:https://zhuanlan.zhihu.com/Microstrong个人博客:https://blog.csd...原创 2019-08-21 01:25:15 · 316 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题23》从上往下打印二叉树
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!个人博客:https://blog.csdn.net/program_developer知乎专栏:https://zhuanla...原创 2019-08-10 23:10:53 · 284 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题22》栈的压入、弹出序列
我的个人微信公众号:Microstrong微信公众号ID:MicrostrongAI公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!个人博客:https://blog.csdn.net/program_developer知乎专栏:https://zhuanla...原创 2019-08-07 01:43:06 · 274 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题19》二叉树的镜像
微信公众号题目链接:https://www.nowcoder.com/practice/564f4c26aa584921bc75623e48ca3011?tpId=13&tqId=11171&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankin...原创 2019-07-28 19:40:53 · 252 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题21》包含min函数的栈
微信公众号题目链接:https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=13&tqId=11173&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankin...原创 2019-08-06 01:28:12 · 308 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题10》二进制中1的个数
微信公众号题目链接:https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8?tpId=13&tqId=11164&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankin...原创 2019-07-23 00:23:59 · 190 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题14》调整数组顺序使奇数位于偶数前面
微信公众号题目链接:https://www.nowcoder.com/practice/beb5aa231adc45b2a5dcc5b62c93f593?tpId=13&tqId=11166&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankin...原创 2019-07-26 00:26:36 · 281 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题20》顺时针打印矩阵
微信公众号题目链接:https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a?tpId=13&tqId=11172&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankin...原创 2019-07-31 00:53:28 · 241 阅读 · 0 评论 -
牛客网在线编程专题《剑指offer-面试题11》数值的整数次方
微信公众号题目链接:https://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00?tpId=13&tqId=11165&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankin...原创 2019-07-23 23:37:17 · 243 阅读 · 0 评论 -
【LeetCode】72. Edit Distance
微信公众号72.Edit DistanceDescription:Given two wordsword1andword2, find the minimum number of operations required to convertword1toword2.You have the following 3 operations permitted on a ...原创 2019-05-13 22:45:50 · 2771 阅读 · 0 评论 -
【算法】究竟什么是大O(Big O)&面试中的时间复杂度分析
1. 时间复杂度表示的是什么?如果n表示数据规模,那么O(f(n))表示运行算法所需要执行的指令数,和f(n)成正比。2. 常见算法的时间复杂度每个算法的时间复杂度都有可能含有一个常数项,比如上面的a、b、c和d,随着数据规模n的增大,常数项对算法复杂度的影响可以忽略不计。3. 到底什么是大O?4. 一个时间复杂度的问题5. 算法复杂度在有些情况是用...原创 2019-04-19 23:38:24 · 1667 阅读 · 0 评论 -
【LeetCode】最长公共子序列 | 718. Maximum Length of Repeated Subarray | 最短路径
1. 最长公共子序列1.1 介绍最长公共子序列的概念最长公共子串(Longest Common Substring)与最长公共子序列(Longest Common Subsequence)的区别: 子串要求在原字符串中是连续的,而子序列则只需保持相对顺序一致,并不要求连续。(1)例如X = {a, Q, 1, 1}; Y = {a, 1, 1, d, f}那么,{a, 1, 1}是X和...原创 2019-04-17 19:19:11 · 2257 阅读 · 0 评论 -
【算法】对数据规模有一个概念
微信公众号1. 时间复杂度1.1 数据规模n的概念问题:对的数据进行选择排序,结果计算机假死?这非常正常的现象,对于家用计算机来说,用选择排序对数据进行排序需要非常长的时间。举例:对数据规模n的一个概念,运行一个O(n)的程序,观察n对程序运行时间的影响。from datetime import datetimefor x in range(1,10): ...原创 2019-04-21 23:00:39 · 2753 阅读 · 0 评论