算法
south_l
这个作者很懒,什么都没留下…
展开
-
背包问题
背包问题一、0-1背包问题特点:容量为V的背包,和一些物品,物品的属性有体积w和价值v,每种物品只有一个,要求用这个背包装下尽可能多的物品,求物品的最大价值和。dp[i][j]表示在总体积不超过j的情况下,前i个物品所能达到的最大价值。dp[i][j] = max{dp[i-1][j-w]+v, dp[i-1][j]}#include<stdio.h>#defi...原创 2018-06-28 13:10:46 · 184 阅读 · 0 评论 -
算法第16周Jump Game II[hard]
DescriptionGiven an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Your goal原创 2017-12-24 16:09:56 · 168 阅读 · 0 评论 -
算法第16周Jump Game[medium]
DescriptionGiven an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Determine原创 2017-12-24 15:51:36 · 146 阅读 · 0 评论 -
算法第16周Maximum Subarray[easy]
DescriptionFind the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contiguous subarray [4,-1,2原创 2017-12-24 11:14:44 · 146 阅读 · 0 评论 -
算法第12周Regular Expression Matching[hard]
DescriptionImplement regular expression matching with support for '.' and '*'.'.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover the entire in原创 2017-11-23 17:17:40 · 123 阅读 · 0 评论 -
算法第12周Delete Operation for Two Strings[Medium]
DescriptionGiven two words word1 and word2, find the minimum number of steps required to make word1 and word2 the same, where in each step you can delete one character in either string.Example 1:Input:原创 2017-11-23 15:40:30 · 127 阅读 · 0 评论 -
算法第13周Longest Valid Parentheses[hard]
DescriptionGiven a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest valid parentheses substring is “()”原创 2017-12-02 23:28:26 · 134 阅读 · 0 评论 -
算法第11周Palindromic Substrings[medium]
DescriptionGiven a string, your task is to count how many palindromic substrings in this string.The substrings with different start indexes or end indexes are counted as different substrings even they原创 2017-11-18 00:27:09 · 175 阅读 · 0 评论 -
算法第10周01 Matrix[medium]
算法第10周01 Matrix[medium]DescriptionGiven a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell.The distance between two adjacent cells is 1. Example 1: Input:0 0 00 1 00 0原创 2017-11-12 21:07:32 · 142 阅读 · 0 评论 -
算法第14周Unique Paths[medium]
DescriptionA 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. The robot is trying to reac原创 2017-12-06 23:30:58 · 159 阅读 · 0 评论 -
算法第14周Unique Paths II[medium]
DescriptionFollow up for “Unique Paths”:Now consider if some obstacles are added to the grids. How many unique paths would there be?An obstacle and empty space is marked as 1 and 0 respectively in the原创 2017-12-06 23:43:09 · 142 阅读 · 0 评论 -
动态规划(DP)
经典的动态规划问题一、递推求解经典的动态规划问题一、递推求解首先要确定递推规则,确定几个规模较小的问题答案,然后考虑如何有这几个规模较小的答案推得后面的答案。...原创 2018-06-27 22:17:15 · 153 阅读 · 0 评论 -
简单的表达式求值
#include<iostream>#include<stack>#include<string>#include<stdlib.h>using namespace std;/*#include <iomanip>cout<<setiosflags(ios::fixed)<<setprecision原创 2018-06-26 15:01:02 · 201 阅读 · 0 评论 -
括号匹配问题
#include<iostream>#include<stack>#include<string>using namespace std;int main() { stack<int> stack; string s; int flag[101] = {0}; //while(scanf("%s", str) ...原创 2018-06-26 15:00:09 · 101 阅读 · 0 评论 -
算法第18周Climbing Stairs[easy]
DescriptionYou are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?Note: Given n will原创 2018-01-07 23:57:59 · 148 阅读 · 0 评论 -
算法第15周Wildcard Matching[hard]
DescriptionImplement wildcard pattern matching with support for ‘?’ and ‘*’.'?' Matches any single character.'*' Matches any sequence of characters (including the empty sequence).The matching should c原创 2017-12-17 19:21:07 · 177 阅读 · 0 评论 -
算法第17周第8周课后习题
8.3题目描述:Stingy SAT is the following problem: given a set of clauses(each a disjunction of literals) and an integer k, find a satisfying assignment in which at most k variables are true, if such an assi原创 2017-12-31 11:10:21 · 211 阅读 · 0 评论 -
算法第15周Find K-th Smallest Pair Distance[hard]
DescriptionGiven an integer array, return the k-th smallest distance among all the pairs. The distance of a pair (A, B) is defined as the absolute difference between A and B.Example 1:Input:nums = [1,原创 2017-12-16 00:12:28 · 566 阅读 · 0 评论 -
算法第15周Count and Say[easy]
DescriptionThe count-and-say sequence is the sequence of integers with the first five terms as following:1. 12. 113. 214. 12115. 1112211 is read off as “one 1” or 11. 11 is rea原创 2017-12-15 21:44:17 · 137 阅读 · 0 评论 -
算法第九周Course Schedule[medium]
Course Schedule[medium]DescriptionThere are a total of n courses you have to take, labeled from 0 to n - 1.Some courses may have prerequisites, for example to take course 0 you have to first take cours原创 2017-11-02 22:16:50 · 181 阅读 · 0 评论 -
算法第八周Number of Longest Increasing Subsequence[medium]
Number of Longest Increasing Subsequence[mediumDescriptionGiven an unsorted array of integers, find the number of longest increasing subsequence.Example 1:Input: [1,3,5,4,7]Output: 2Explanation: The原创 2017-10-25 21:01:06 · 238 阅读 · 0 评论 -
算法第八周Longest Increasing Subsequence[medium]
Longest Increasing Subsequence[medium]DescriptionGiven an unsorted array of integers, find the length of longest increasing subsequence.For example, Given [10, 9, 2, 5, 3, 7, 101, 18], The longest in原创 2017-10-25 20:50:34 · 150 阅读 · 0 评论 -
算法第二周Add Two Numbers[medium]
Add Two Numbers [Medium]DescriptionYou are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit原创 2017-09-17 18:56:36 · 198 阅读 · 0 评论 -
算法第二周Majority Element[easy]
Majority Element[Easy]DescriptionGiven an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is non-empty原创 2017-09-17 19:25:31 · 239 阅读 · 0 评论 -
算法第五周Container With Most Water[Medium]
Container With Most Water[Medium]DescriptionGiven n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of l原创 2017-10-08 23:08:56 · 266 阅读 · 0 评论 -
算法第五周Merge Two Sorted Lists[easy]
Merge Two Sorted Lists[easy]DescriptionMerge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.Solution这道题目是将两个已经排序的原创 2017-10-07 23:35:47 · 155 阅读 · 0 评论 -
算法第五周Swap Nodes in Pairs[medium]
Swap Nodes in Pairs[medium]DescriptionGiven a linked list, swap every two adjacent nodes and return its head.For example, Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm shou原创 2017-10-07 22:33:55 · 194 阅读 · 0 评论 -
算法第一周Tow Sum[easy]
1.Tow Sum [easy]DescriptionGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and y原创 2017-09-17 16:12:51 · 241 阅读 · 0 评论 -
算法第三周Median of Two Sorted Arrays[hard]
Median of Two Sorted Arrays[hard]DescriptionThere are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be原创 2017-09-24 13:21:44 · 149 阅读 · 0 评论 -
算法第三周Palindrome Number[easy]
Palindrome Number[easy]DescriptionDetermine whether an integer is a palindrome. Do this without extra space. Some hints: Could negative integers be palindromes? (ie, -1)If you are thinking of convert原创 2017-09-24 12:42:52 · 159 阅读 · 0 评论 -
算法第三周 3Sum[medium]
3Sum[medium]DescriptionGiven an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note: The solution set原创 2017-09-21 23:14:20 · 289 阅读 · 0 评论 -
算法第七周Longest Common Prefix[easy]
Longest Common Prefix[easy]DescriptionWrite a function to find the longest common prefix string amongst an array of strings.Solution这道题是在给定的n个string中寻找最长前缀; 我们可以确定最长前缀的长度小于任意一个字符串的长度。 采取的思路是:先假定最长前缀为原创 2017-10-18 21:09:18 · 207 阅读 · 0 评论 -
LIS问题(最长递增子序列)
最长递增子序列简介:今天的算法课上学习了动态规划(Dynamic programming),简单的来说,动态规划解决问题就是在解决问题的过程中通过不断的解决一些小问题最终解决大问题,并且与分治算法的区别是它并不要求小问题要比大问题规模小很多,其中LIS问题是我们主要学习的例子:LIS问题给定一个数的序列a1,a2...an找到最长的递增子序列解法:动态规划O(n*n): 动态规划方程:原创 2017-10-25 20:46:48 · 446 阅读 · 0 评论 -
算法第六周Majority Element II[medium]
Majority Element II[medium]DescriptionGiven an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorithm should run in linear time and in O(1) space.Solution这道题目是Maj原创 2017-10-14 23:00:09 · 171 阅读 · 0 评论 -
算法第九周Edit Distance[hard]
Edit Distance[hard]DescriptionGiven two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operat原创 2017-10-31 22:23:25 · 218 阅读 · 0 评论 -
算法第六周26&203
26.Remove Duplicates from Sorted ArrayGiven a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another arra原创 2017-10-14 22:40:24 · 196 阅读 · 0 评论 -
算法第六周Merge k Sorted Lists[hard]
Merge k Sorted Lists[hard][题目]Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 显然,这道题是在上周所做Merge Two Sorted Lists那道题的基础上将K个已经排序了的链表合并。[解]我们很容易的想到我们上课所原创 2017-10-12 22:43:40 · 142 阅读 · 0 评论 -
算法第四周Judge Route Circle[easy]
Judge Route Circle[easy]DescriptionInitially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot makes a circle, which means it moves back to the original place.The原创 2017-10-02 00:02:51 · 153 阅读 · 0 评论 -
算法第七周Delete Node in a BST[medium]
Delete Node in a BST[medium]DescriptionGiven a root node reference of a BST and a key, delete the node with the given key in the BST. Return the root node reference (possibly updated) of the BST.Basica原创 2017-10-18 21:36:24 · 237 阅读 · 0 评论 -
算法第七周Maximum Binary Tree[medium]
Maximum Binary Tree[medium]DescriptionGiven an integer array with no duplicates. A maximum tree building on this array is defined as follow:The root is the maximum number in the array. The left subtre原创 2017-10-18 21:16:37 · 193 阅读 · 0 评论