Max sum subsequence with non-consecutive elements - Kadane's Algorithm (DP) - Algorithms and Problem SolvingAlgorithms and Problem Solving



Max sum subsequence with non-consecutive elements - Kadane's Algorithm (DP) - Algorithms and Problem SolvingAlgorithms and Problem Solving

Max sum subsequence with non-consecutive elements – Kadane's Algorithm (DP) Posted on Given an array of integer. Find the maximum sum subsequence such that elements are not consecutive. For example, A = [−2, 1, −3, 4, −1, 2, 1, −5, 4] then max sum=11 with the subarray [1, 4, 2, 4]. First of all, lets solve the problem with less constraint. Suppose we need to find out max sum subarray. How we can do that efficiently? Kadane's Algorithm Its Kadane's max sum subarray problem. The algorithm basically scans the input array from left to right and calculates sum of the current subarray upto current position. If current sum is less than 0 then reset the sum to zero and thus starting a new subarray. While doing this it keeps the max sum. If current sum exceeds the max sum then we reset max sum to this sum and set the max sum subarray boundary. This is an O(n) solution. For example: A = [−2, 1, −3, 4, −1, 2, 1, −5, 4] then max sum=6 with the maxsum subarray [4, -1, 2, 1].

Read full article from Max sum subsequence with non-consecutive elements - Kadane's Algorithm (DP) - Algorithms and Problem SolvingAlgorithms and Problem Solving


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts