Longest Absolute File Path LeetCode solution in C++
1// Using Map O(300 + N)23class Solution {4public:5int lengthLongestPath(string input) {6input.push_back('\n');7vector<int> levels(301, 0);8int ans = 0;9int curr_tabs = 0;10bool is_file = false;11int curr_word_len = 0;12int total_len = 0;1314for (char c : input) {15if (c == '\t') {16curr_tabs++;17} else if (c == '\n') {18if (curr_tabs == 0) {19levels[0] = curr_word_len;20} else {21levels[curr_tabs] = levels[curr_tabs - 1] + curr_word_len;22}2324if (is_file) {25ans = max(ans, levels[curr_tabs] + curr_tabs);26// levels[curr_tabs] = 0;27}28curr_tabs = 0;29is_file = false;30curr_word_len = 0;31} else if (c == '.') {32is_file = true;33curr_word_len++;34} else {35curr_word_len++;36}37}38return ans;39}40};