[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Simple Code Debugging Help

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 4
Thread images: 1

File: firecode2.png (3KB, 209x184px) Image search: [Google]
firecode2.png
3KB, 209x184px
I'm doing some firecode questions to prepare for coding interviews, and I'm struggling to figure out what's wrong with this code. The goal is to find the minimum sum path from root to leaf. The example tree in attached pic should return 10, but it's returning 14. Can someone help me understand why? I'm not great at recursion.

public int findHeight(TreeNode root) {
if(root == null)
return 0;
int l = findHeight(root.left);
int r = findHeight(root.right);
if(l == 0 && r != 0) return root.data+r;
if(l != 0 && r == 0) return root.data+l;
return root.data+Math.min(l, r);
}
>>
works for me, maybe you have the tree wrong
>>
>>62161826
Works for me (sorry for shitty code I never use C and wanted to see if I could do it)

#include <stdio.h>

int min(int l, int r) {
return l<r ? l : r;
}

struct TreeNode {
int data;
struct TreeNode* left;
struct TreeNode* right;
};

int findHeight(struct TreeNode* root) {
if(root == NULL)
return 0;
printf("%d\n", root->data);
int l = findHeight(root->left);
int r = findHeight(root->right);
if(l == 0 && r != 0) return root->data+r;
if(l != 0 && r == 0) return root->data+l;
return root->data+min(l, r);
}

int main() {
struct TreeNode root = {6};
struct TreeNode four = {4};
struct TreeNode seven = {7};
struct TreeNode eight = {8};
eight.left = &seven;
root.left = &four;
root.right = &eight;
printf("%d\n", findHeight(&root));
}


Returns 10
>>
Thanks guys, I'm just going to assume it's an issue with the way their tested builds the tree then because my code logically makes sense. Plus, you guys have pretty much verified it.
Thread posts: 4
Thread images: 1


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.