diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/Follower.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/Follower.java deleted file mode 100644 index e24b29f5cb..0000000000 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/Follower.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.baeldung.algorithms.greedy; - -import lombok.Getter; - -public class Follower { - - @Getter String username; - @Getter long count; - - public Follower(String username, long count) { - super(); - this.username = username; - this.count = count; - } - - @Override - public String toString() { - return "User: " + username + ", Followers: " + count + "\n\r" ; - } -} diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/FollowersPath.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/FollowersPath.java deleted file mode 100644 index 932037edb1..0000000000 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/FollowersPath.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.baeldung.algorithms.greedy; - -import java.util.ArrayList; -import java.util.List; - -public class FollowersPath { - - private List accounts; - private long count; - - public FollowersPath() { - super(); - this.accounts = new ArrayList<>(); - } - - public List getAccounts() { - return accounts; - } - public long getCount() { - return count; - } - - public void addFollower(String username, long count) { - accounts.add(new Follower(username, count)); - } - - public void addCount(long count) { - this.count += count; - } - - @Override - public String toString() { - String details = ""; - for(Follower a : accounts) { - details+=a.toString() + ", "; - } - - return "Total: " + count + ", \n\r" + - " Details: { " + "\n\r" + - details + "\n\r" + - " }"; - } - -} diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/GreedyAlgorithm.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/GreedyAlgorithm.java deleted file mode 100644 index 891695e5dc..0000000000 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/GreedyAlgorithm.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.baeldung.algorithms.greedy; - -import java.util.List; - -public class GreedyAlgorithm { - - int currentLevel = 0; - final int maxLevel = 3; - SocialConnector sc; - FollowersPath fp; - - public GreedyAlgorithm(SocialConnector sc) { - super(); - this.sc = sc; - this.fp = new FollowersPath(); - } - - public long findMostFollowersPath(String account) throws Exception { - long max = 0; - SocialUser toFollow = null; - - List followers = sc.getFollowers(account); - for (SocialUser el : followers) { - long followersCount = el.getFollowersCount(); - if (followersCount > max) { - toFollow = el; - max = followersCount; - } - } - - if (currentLevel < maxLevel - 1) { - currentLevel++; - max += findMostFollowersPath(toFollow.getUsername()); - //fp.addFollower(toFollow.getUsername(), max); - //fp.addCount(max); - return max; - } else { - //fp.addFollower(toFollow.getUsername(), max); - //fp.addCount(max); - return max; - } - } - - public FollowersPath getFollowers() { - return fp; - } -} diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/NonGreedyAlgorithm.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/NonGreedyAlgorithm.java deleted file mode 100644 index db8a47be11..0000000000 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/NonGreedyAlgorithm.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.baeldung.algorithms.greedy; - -import java.util.List; - -public class NonGreedyAlgorithm { - - int currentLevel = 0; - final int maxLevel = 3; - SocialConnector tc; - - public NonGreedyAlgorithm(SocialConnector tc, int level) { - super(); - this.tc = tc; - this.currentLevel = level; - } - - - public long findMostFollowersPath(String account) throws Exception { - List followers = tc.getFollowers(account); - long total = currentLevel > 0 ? followers.size() : 0; - - if (currentLevel < maxLevel ) { - currentLevel++; - - long[] count = new long[followers.size()]; - int i = 0; - for (SocialUser el : followers) { - NonGreedyAlgorithm sub = new NonGreedyAlgorithm(tc, currentLevel); - count[i] = sub.findMostFollowersPath(el.getUsername()); - i++; - } - - long max = 0; - for (; i > 0; i--) { - if (count[i-1] > max ) - max = count[i-1]; - } - - return total + max; - } - - return total; - } -} diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/SocialConnector.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/SocialConnector.java deleted file mode 100644 index cdcf0df395..0000000000 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/SocialConnector.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.baeldung.algorithms.greedy; - -import java.util.ArrayList; -import java.util.List; - -import lombok.Getter; -import lombok.Setter; - -public class SocialConnector { - private boolean isCounterEnabled = true; - private int counter = 4; - @Getter @Setter List users; - - public SocialConnector() { - users = new ArrayList<>(); - } - - public boolean switchCounter() { - this.isCounterEnabled = !this.isCounterEnabled; - return this.isCounterEnabled; - } - - public List getFollowers(String account) throws Exception { - if (counter < 0) - throw new Exception ("API limit reached"); - else { - if(this.isCounterEnabled) counter--; - for(SocialUser user : users) { - if (user.getUsername().equals(account)) { - return user.getFollowers(); - } - } - } - return new ArrayList<>(); - } -} diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/SocialUser.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/SocialUser.java deleted file mode 100644 index 33eab9e799..0000000000 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/greedy/SocialUser.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.baeldung.algorithms.greedy; - -import java.util.ArrayList; -import java.util.List; - -import lombok.Getter; - -public class SocialUser { - - @Getter private String username; - @Getter private List followers; - - public SocialUser(String username) { - super(); - this.username = username; - this.followers = new ArrayList<>(); - } - - public SocialUser(String username, List followers) { - super(); - this.username = username; - this.followers = followers; - } - - public long getFollowersCount() { - return followers.size(); - } - - public void addFollowers(List followers) { - this.followers.addAll(followers); - } - - @Override - public boolean equals(Object obj) { - return ((SocialUser) obj).getUsername().equals(username); - } - -}