Find duplicate in linear time and space The 2019 Stack Overflow Developer Survey Results Are In3sum leetcode problem using 2sumGiven a sorted array nums, remove the duplicates in-placeCount duplicates in a JavaScript arrayRemove all occurrences of an element from an array, in placeFind the length of the longest consecutive elementsFirst missing positive integer in linear time and constant spaceSum of a sublistIn an set of integers, find three elements summing to zero (3-sum, leetcode variant)Find the elements that appear only onceFind the smallest distance between any two given words in a string
Manuscript was "unsubmitted" because the manuscript was deposited in Arxiv Preprints
What does "sndry explns" mean in one of the Hitchhiker's guide books?
On the insanity of kings as an argument against monarchy
Does light intensity oscillate really fast since it is a wave?
Landlord wants to switch my lease to a "Land contract" to "get back at the city"
How was Skylab's orbit inclination chosen?
Pristine Bit Checking
How are circuits which use complex ICs normally simulated?
Time travel alters history but people keep saying nothing's changed
Is "plugging out" electronic devices an American expression?
Lethal sonic weapons
Springs with some finite mass
How come people say “Would of”?
How to deal with fear of taking dependencies
A poker game description that does not feel gimmicky
Access elements in std::string where positon of string is greater than its size
Where to refill my bottle in India?
Which Sci-Fi work first showed weapon of galactic-scale mass destruction?
How can I create a character who can assume the widest possible range of creature sizes?
Carnot-Caratheodory metric
Inversion Puzzle
Why is Grand Jury testimony secret?
What is the steepest angle that a canal can be traversable without locks?
Why isn't airport relocation done gradually?
Find duplicate in linear time and space
The 2019 Stack Overflow Developer Survey Results Are In3sum leetcode problem using 2sumGiven a sorted array nums, remove the duplicates in-placeCount duplicates in a JavaScript arrayRemove all occurrences of an element from an array, in placeFind the length of the longest consecutive elementsFirst missing positive integer in linear time and constant spaceSum of a sublistIn an set of integers, find three elements summing to zero (3-sum, leetcode variant)Find the elements that appear only onceFind the smallest distance between any two given words in a string
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
$begingroup$
The task:
You are given an array of length n + 1 whose elements belong to the
set 1, 2, ..., n. By the pigeonhole principle, there must be a
duplicate. Find it in linear time and space.
const lst = [1,2,3,4,5,6,7,8,7];
My functional solution:
const findDuplicate = lst =>
const set = new Set();
let ret;
lst.some(x => set.has(x) ?
!Boolean(ret = x) :
!Boolean(set.add(x))
);
return ret;
;
console.log(findDuplicate(lst));
My imperative solution:
function findDuplicate2(lst)
const set = new Set();
let i = 0;
while(!set.has(lst[i])) set.add(lst[i++]);
return lst[i];
console.log(findDuplicate2(lst));
javascript algorithm programming-challenge functional-programming
$endgroup$
add a comment |
$begingroup$
The task:
You are given an array of length n + 1 whose elements belong to the
set 1, 2, ..., n. By the pigeonhole principle, there must be a
duplicate. Find it in linear time and space.
const lst = [1,2,3,4,5,6,7,8,7];
My functional solution:
const findDuplicate = lst =>
const set = new Set();
let ret;
lst.some(x => set.has(x) ?
!Boolean(ret = x) :
!Boolean(set.add(x))
);
return ret;
;
console.log(findDuplicate(lst));
My imperative solution:
function findDuplicate2(lst)
const set = new Set();
let i = 0;
while(!set.has(lst[i])) set.add(lst[i++]);
return lst[i];
console.log(findDuplicate2(lst));
javascript algorithm programming-challenge functional-programming
$endgroup$
add a comment |
$begingroup$
The task:
You are given an array of length n + 1 whose elements belong to the
set 1, 2, ..., n. By the pigeonhole principle, there must be a
duplicate. Find it in linear time and space.
const lst = [1,2,3,4,5,6,7,8,7];
My functional solution:
const findDuplicate = lst =>
const set = new Set();
let ret;
lst.some(x => set.has(x) ?
!Boolean(ret = x) :
!Boolean(set.add(x))
);
return ret;
;
console.log(findDuplicate(lst));
My imperative solution:
function findDuplicate2(lst)
const set = new Set();
let i = 0;
while(!set.has(lst[i])) set.add(lst[i++]);
return lst[i];
console.log(findDuplicate2(lst));
javascript algorithm programming-challenge functional-programming
$endgroup$
The task:
You are given an array of length n + 1 whose elements belong to the
set 1, 2, ..., n. By the pigeonhole principle, there must be a
duplicate. Find it in linear time and space.
const lst = [1,2,3,4,5,6,7,8,7];
My functional solution:
const findDuplicate = lst =>
const set = new Set();
let ret;
lst.some(x => set.has(x) ?
!Boolean(ret = x) :
!Boolean(set.add(x))
);
return ret;
;
console.log(findDuplicate(lst));
My imperative solution:
function findDuplicate2(lst)
const set = new Set();
let i = 0;
while(!set.has(lst[i])) set.add(lst[i++]);
return lst[i];
console.log(findDuplicate2(lst));
javascript algorithm programming-challenge functional-programming
javascript algorithm programming-challenge functional-programming
asked 12 mins ago
thadeuszlaythadeuszlay
803516
803516
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "196"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217171%2ffind-duplicate-in-linear-time-and-space%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217171%2ffind-duplicate-in-linear-time-and-space%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown