Question: ( write this code over so it has a different structure and it logically makes sense.: vector RecommendationSystem::generateRecommendationsForStudent ( const string& studentName ) const {
write this code over so it has a different structure and it logically makes sense.: vector RecommendationSystem::generateRecommendationsForStudentconst string& studentName const
vector recommendations;
if studentsfindstudentName students.end
return recommendations; Return empty if student not found
unorderedset enrolledCourses;
for const auto& course studentMap : coursePopularity
if studentMapcountstudentName
enrolledCourses.insertcourse;
map recommendationScores;
for const auto& course studentMap : coursePopularity
if enrolledCoursescountcourse continue; Skip courses already enrolled
int score ;
bool isUnique false;
for const auto& otherStudent count : studentMap
for const auto& enrolled : enrolledCourses
if coursePopularityatenrolledcountotherStudent
score count;
isUnique true;
break;
if isUnique
recommendationScorescourse score;
vector sortedRecommendations;
for const auto& course score : recommendationScores
sortedRecommendations.emplacebackscore, course; Use negative score for descending order
sortsortedRecommendationsbegin sortedRecommendations.end;
for const auto& negScore course : sortedRecommendations
if recommendationssize
recommendations.pushbackcourse;
else
break;
return recommendations;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
