{"id":9790,"date":"2022-09-20T18:32:34","date_gmt":"2022-09-20T13:02:34","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/"},"modified":"2022-09-20T18:32:34","modified_gmt":"2022-09-20T13:02:34","slug":"solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/","title":{"rendered":"[Solved] leetcode house robber getting different output on ide vs leetcode [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-72680065\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"72680065\" data-parentid=\"72679931\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>The problem is with <code>memo={}<\/code>. When you just run one test, it will work locally  (and also on LeetCode when you run it on one particular input), but when you would run multiple calls of the function with different <code>nums<\/code> inputs, you would get unexpected results too.<\/p>\n<p><code>memo<\/code> is only assigned <code>{}<\/code> once, and is never reset by it. This dictionary is only created once, and that dictionary will serve as default value in a next call. If the function <em>mutates<\/em> that dictionary, then the next call (without <code>memo<\/code> argument) will get <em>that<\/em> mutated dictionary as initialisation value. This is how default parameter values work in Python.<\/p>\n<p>You can solve it like this:<\/p>\n<pre><code>def rob(nums, current=0, memo=None):\n    if memo is None:\n        memo = {}\n    # Rest of your code, but PASS the memo argument!\n    if current &gt;= len(nums):\n        return 0\n    if current in memo:\n        sum1 = memo[current]\n    else:\n        sum1 = nums[current] + rob(nums, current + 2, memo)\n        memo[current] = sum1\n    \n    if current + 1 &gt;= len(nums):\n        return sum1\n    if current + 1 in memo:\n        sum2 = memo[current + 1]\n    else:\n        sum2 = nums[current + 1] + rob(nums, current + 3, memo)\n        memo[current + 1] = sum2\n    return max(sum1, sum2)\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">0<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved leetcode house robber getting different output on ide vs leetcode [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] The problem is with memo={}. When you just run one test, it will work locally (and also on LeetCode when you run it on one particular input), but when you would run multiple calls of the function with different nums inputs, you would get unexpected results too. memo is only assigned {} once, and &#8230; <a title=\"[Solved] leetcode house robber getting different output on ide vs leetcode [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/\" aria-label=\"More on [Solved] leetcode house robber getting different output on ide vs leetcode [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[349],"class_list":["post-9790","post","type-post","status-publish","format-standard","hentry","category-solved","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] leetcode house robber getting different output on ide vs leetcode [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] leetcode house robber getting different output on ide vs leetcode [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] The problem is with memo={}. When you just run one test, it will work locally (and also on LeetCode when you run it on one particular input), but when you would run multiple calls of the function with different nums inputs, you would get unexpected results too. memo is only assigned {} once, and ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-20T13:02:34+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] leetcode house robber getting different output on ide vs leetcode [closed]\",\"datePublished\":\"2022-09-20T13:02:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\\\/\"},\"wordCount\":134,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"python\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\\\/\",\"name\":\"[Solved] leetcode house robber getting different output on ide vs leetcode [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-09-20T13:02:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] leetcode house robber getting different output on ide vs leetcode [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] leetcode house robber getting different output on ide vs leetcode [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] leetcode house robber getting different output on ide vs leetcode [closed] - JassWeb","og_description":"[ad_1] The problem is with memo={}. When you just run one test, it will work locally (and also on LeetCode when you run it on one particular input), but when you would run multiple calls of the function with different nums inputs, you would get unexpected results too. memo is only assigned {} once, and ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/","og_site_name":"JassWeb","article_published_time":"2022-09-20T13:02:34+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] leetcode house robber getting different output on ide vs leetcode [closed]","datePublished":"2022-09-20T13:02:34+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/"},"wordCount":134,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["python"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/","name":"[Solved] leetcode house robber getting different output on ide vs leetcode [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-20T13:02:34+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-leetcode-house-robber-getting-different-output-on-ide-vs-leetcode-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] leetcode house robber getting different output on ide vs leetcode [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=9790"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9790\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=9790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=9790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=9790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}