## Search Posts

### Popular

View More
```/*Good morning! Here's your coding interview problem for today.
This problem was asked by Stripe.
Given an array of integers, find the first missing positive integer in linear time and constant space. In other words, find the lowest positive integer that does not exist in the array. The array can contain duplicates and negative numbers as well.
For example, the input [3, 4, -1, 1] should give 2. The input [1, 2, 0] should give 3.
You can modify the input array in-place.*/#include <iostream>using namespace std;
int calcMissing(int* input, int size){	int sum = 0;	int n = 1; //add one to account for missing value	for(int i = 0; i < size; i++)	{	if(input[i] > 0)	{	sum += input[i];	n++;	}	}
//If no numbers higher than 0, answer is 1	if(sum == 0)	return 1;
return (n*(n+1)/2) - sum; //Formula is expectedSum - actualSum	/* expectedSum = n*(n+1)/2, the formula for sum(1, n) */}
int main(){
cout << calcMissing(new int{3, 4, -1, 1}, 4) << endl;	cout << calcMissing(new int{1, 2, 0}, 3) << endl;
//No positive numbers	cout << calcMissing(new int{0}, 1) << endl;}```

### Invert Binary Tree

CodeCatch
2 likes • Oct 15, 2022
JavaScript
```var invertTree = function(root) {    const reverseNode = node => {        if (node == null) {            return null        }        reverseNode(node.left);        reverseNode(node.right);        let holdLeft = node.left;        node.left = node.right;        node.right = holdLeft;        return node;    }
return reverseNode(root);};```

### MongoDB Connection

CodeCatch
2 likes • Oct 15, 2022
JavaScript
```const MongoClient = require('mongodb').MongoClient;const assert = require('assert');
// Connection URLconst url = 'mongodb://localhost:27017';
// Database Nameconst dbName = 'myproject';
// Use connect method to connect to the serverMongoClient.connect(url, function(err, client) {  assert.equal(null, err);  console.log("Connected successfully to server");
const db = client.db(dbName);
client.close();});```
```my_list = ["blue", "red", "green"]
#1- Using sort or srted directly or with specifc keysmy_list.sort() #sorts alphabetically or in an ascending order for numeric data my_list = sorted(my_list, key=len) #sorts the list based on the length of the strings from shortest to longest. # You can use reverse=True to flip the order
#2- Using locale and functools import localefrom functools import cmp_to_keymy_list = sorted(my_list, key=cmp_to_key(locale.strcoll))```

View More

### insertion sort

CodeCatch
0 likes • Nov 19, 2022
JavaScript
`const insertionSort = arr =>  arr.reduce((acc, x) => {    if (!acc.length) return [x];    acc.some((y, j) => {      if (x <= y) {        acc.splice(j, 0, x);        return true;      }      if (x > y && j === acc.length - 1) {        acc.splice(j + 1, 0, x);        return true;      }      return false;    });    return acc;  }, []);  insertionSort([6, 3, 4, 1]); // [1, 3, 4, 6]`

### Invert Binary Tree

CodeCatch
2 likes • Oct 15, 2022
JavaScript
```var invertTree = function(root) {    const reverseNode = node => {        if (node == null) {            return null        }        reverseNode(node.left);        reverseNode(node.right);        let holdLeft = node.left;        node.left = node.right;        node.right = holdLeft;        return node;    }
return reverseNode(root);};```
```//sample code to write 100 random ints to a file, 1 per line
import java.io.PrintStream;import java.io.IOException;import java.io.File;
import java.util.Random;
public class WriteToFile {    public static void main(String[] args) {        try {            PrintStream writer = new PrintStream(new File("randInts.txt"));            Random r = new Random();            final int LIMIT = 100;
for (int i = 0; i < LIMIT; i++) {                writer.println(r.nextInt());            }            writer.close();        } catch (IOException e) {            System.out.println("An error occured while trying to write to the file");        }    }}```

### Bash Basics

CodeCatch
0 likes • Nov 19, 2022
Shell
`name="John"echo \${name}echo \${name/J/j}    #=> "john" (substitution)echo \${name:0:2}    #=> "Jo" (slicing)echo \${name::2}     #=> "Jo" (slicing)echo \${name::-1}    #=> "Joh" (slicing)echo \${name:(-1)}   #=> "n" (slicing from right)echo \${name:(-2):1} #=> "h" (slicing from right)echo \${food:-Cake}  #=> \$food or "Cake"`