{ "data": { "question": { "questionId": "2285", "questionFrontendId": "2166", "boundTopicId": null, "title": "Design Bitset", "titleSlug": "design-bitset", "content": "

A Bitset is a data structure that compactly stores bits.

\n\n

Implement the Bitset class:

\n\n\n\n

 

\n

Example 1:

\n\n
\nInput\n["Bitset", "fix", "fix", "flip", "all", "unfix", "flip", "one", "unfix", "count", "toString"]\n[[5], [3], [1], [], [], [0], [], [], [0], [], []]\nOutput\n[null, null, null, null, false, null, null, true, null, 2, "01010"]\n\nExplanation\nBitset bs = new Bitset(5); // bitset = "00000".\nbs.fix(3);     // the value at idx = 3 is updated to 1, so bitset = "00010".\nbs.fix(1);     // the value at idx = 1 is updated to 1, so bitset = "01010". \nbs.flip();     // the value of each bit is flipped, so bitset = "10101". \nbs.all();      // return False, as not all values of the bitset are 1.\nbs.unfix(0);   // the value at idx = 0 is updated to 0, so bitset = "00101".\nbs.flip();     // the value of each bit is flipped, so bitset = "11010". \nbs.one();      // return True, as there is at least 1 index with value 1.\nbs.unfix(0);   // the value at idx = 0 is updated to 0, so bitset = "01010".\nbs.count();    // return 2, as there are 2 bits with value 1.\nbs.toString(); // return "01010", which is the composition of bitset.\n
\n\n

 

\n

Constraints:

\n\n\n", "translatedTitle": null, "translatedContent": null, "isPaidOnly": false, "difficulty": "Medium", "likes": 347, "dislikes": 33, "isLiked": null, "similarQuestions": "[{\"title\": \"Design Underground System\", \"titleSlug\": \"design-underground-system\", \"difficulty\": \"Medium\", \"translatedTitle\": null}]", "exampleTestcases": "[\"Bitset\",\"fix\",\"fix\",\"flip\",\"all\",\"unfix\",\"flip\",\"one\",\"unfix\",\"count\",\"toString\"]\n[[5],[3],[1],[],[],[0],[],[],[0],[],[]]", "categoryTitle": "Algorithms", "contributors": [], "topicTags": [ { "name": "Array", "slug": "array", "translatedName": null, "__typename": "TopicTagNode" }, { "name": "Hash Table", "slug": "hash-table", "translatedName": null, "__typename": "TopicTagNode" }, { "name": "Design", "slug": "design", "translatedName": null, "__typename": "TopicTagNode" } ], "companyTagStats": null, "codeSnippets": [ { "lang": "C++", "langSlug": "cpp", "code": "class Bitset {\npublic:\n Bitset(int size) {\n \n }\n \n void fix(int idx) {\n \n }\n \n void unfix(int idx) {\n \n }\n \n void flip() {\n \n }\n \n bool all() {\n \n }\n \n bool one() {\n \n }\n \n int count() {\n \n }\n \n string toString() {\n \n }\n};\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * Bitset* obj = new Bitset(size);\n * obj->fix(idx);\n * obj->unfix(idx);\n * obj->flip();\n * bool param_4 = obj->all();\n * bool param_5 = obj->one();\n * int param_6 = obj->count();\n * string param_7 = obj->toString();\n */", "__typename": "CodeSnippetNode" }, { "lang": "Java", "langSlug": "java", "code": "class Bitset {\n\n public Bitset(int size) {\n \n }\n \n public void fix(int idx) {\n \n }\n \n public void unfix(int idx) {\n \n }\n \n public void flip() {\n \n }\n \n public boolean all() {\n \n }\n \n public boolean one() {\n \n }\n \n public int count() {\n \n }\n \n public String toString() {\n \n }\n}\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * Bitset obj = new Bitset(size);\n * obj.fix(idx);\n * obj.unfix(idx);\n * obj.flip();\n * boolean param_4 = obj.all();\n * boolean param_5 = obj.one();\n * int param_6 = obj.count();\n * String param_7 = obj.toString();\n */", "__typename": "CodeSnippetNode" }, { "lang": "Python", "langSlug": "python", "code": "class Bitset(object):\n\n def __init__(self, size):\n \"\"\"\n :type size: int\n \"\"\"\n \n\n def fix(self, idx):\n \"\"\"\n :type idx: int\n :rtype: None\n \"\"\"\n \n\n def unfix(self, idx):\n \"\"\"\n :type idx: int\n :rtype: None\n \"\"\"\n \n\n def flip(self):\n \"\"\"\n :rtype: None\n \"\"\"\n \n\n def all(self):\n \"\"\"\n :rtype: bool\n \"\"\"\n \n\n def one(self):\n \"\"\"\n :rtype: bool\n \"\"\"\n \n\n def count(self):\n \"\"\"\n :rtype: int\n \"\"\"\n \n\n def toString(self):\n \"\"\"\n :rtype: str\n \"\"\"\n \n\n\n# Your Bitset object will be instantiated and called as such:\n# obj = Bitset(size)\n# obj.fix(idx)\n# obj.unfix(idx)\n# obj.flip()\n# param_4 = obj.all()\n# param_5 = obj.one()\n# param_6 = obj.count()\n# param_7 = obj.toString()", "__typename": "CodeSnippetNode" }, { "lang": "Python3", "langSlug": "python3", "code": "class Bitset:\n\n def __init__(self, size: int):\n \n\n def fix(self, idx: int) -> None:\n \n\n def unfix(self, idx: int) -> None:\n \n\n def flip(self) -> None:\n \n\n def all(self) -> bool:\n \n\n def one(self) -> bool:\n \n\n def count(self) -> int:\n \n\n def toString(self) -> str:\n \n\n\n# Your Bitset object will be instantiated and called as such:\n# obj = Bitset(size)\n# obj.fix(idx)\n# obj.unfix(idx)\n# obj.flip()\n# param_4 = obj.all()\n# param_5 = obj.one()\n# param_6 = obj.count()\n# param_7 = obj.toString()", "__typename": "CodeSnippetNode" }, { "lang": "C", "langSlug": "c", "code": "\n\n\ntypedef struct {\n \n} Bitset;\n\n\nBitset* bitsetCreate(int size) {\n \n}\n\nvoid bitsetFix(Bitset* obj, int idx) {\n \n}\n\nvoid bitsetUnfix(Bitset* obj, int idx) {\n \n}\n\nvoid bitsetFlip(Bitset* obj) {\n \n}\n\nbool bitsetAll(Bitset* obj) {\n \n}\n\nbool bitsetOne(Bitset* obj) {\n \n}\n\nint bitsetCount(Bitset* obj) {\n \n}\n\nchar * bitsetToString(Bitset* obj) {\n \n}\n\nvoid bitsetFree(Bitset* obj) {\n \n}\n\n/**\n * Your Bitset struct will be instantiated and called as such:\n * Bitset* obj = bitsetCreate(size);\n * bitsetFix(obj, idx);\n \n * bitsetUnfix(obj, idx);\n \n * bitsetFlip(obj);\n \n * bool param_4 = bitsetAll(obj);\n \n * bool param_5 = bitsetOne(obj);\n \n * int param_6 = bitsetCount(obj);\n \n * char * param_7 = bitsetToString(obj);\n \n * bitsetFree(obj);\n*/", "__typename": "CodeSnippetNode" }, { "lang": "C#", "langSlug": "csharp", "code": "public class Bitset {\n\n public Bitset(int size) {\n \n }\n \n public void Fix(int idx) {\n \n }\n \n public void Unfix(int idx) {\n \n }\n \n public void Flip() {\n \n }\n \n public bool All() {\n \n }\n \n public bool One() {\n \n }\n \n public int Count() {\n \n }\n \n public string ToString() {\n \n }\n}\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * Bitset obj = new Bitset(size);\n * obj.Fix(idx);\n * obj.Unfix(idx);\n * obj.Flip();\n * bool param_4 = obj.All();\n * bool param_5 = obj.One();\n * int param_6 = obj.Count();\n * string param_7 = obj.ToString();\n */", "__typename": "CodeSnippetNode" }, { "lang": "JavaScript", "langSlug": "javascript", "code": "/**\n * @param {number} size\n */\nvar Bitset = function(size) {\n \n};\n\n/** \n * @param {number} idx\n * @return {void}\n */\nBitset.prototype.fix = function(idx) {\n \n};\n\n/** \n * @param {number} idx\n * @return {void}\n */\nBitset.prototype.unfix = function(idx) {\n \n};\n\n/**\n * @return {void}\n */\nBitset.prototype.flip = function() {\n \n};\n\n/**\n * @return {boolean}\n */\nBitset.prototype.all = function() {\n \n};\n\n/**\n * @return {boolean}\n */\nBitset.prototype.one = function() {\n \n};\n\n/**\n * @return {number}\n */\nBitset.prototype.count = function() {\n \n};\n\n/**\n * @return {string}\n */\nBitset.prototype.toString = function() {\n \n};\n\n/** \n * Your Bitset object will be instantiated and called as such:\n * var obj = new Bitset(size)\n * obj.fix(idx)\n * obj.unfix(idx)\n * obj.flip()\n * var param_4 = obj.all()\n * var param_5 = obj.one()\n * var param_6 = obj.count()\n * var param_7 = obj.toString()\n */", "__typename": "CodeSnippetNode" }, { "lang": "Ruby", "langSlug": "ruby", "code": "class Bitset\n\n=begin\n :type size: Integer\n=end\n def initialize(size)\n \n end\n\n\n=begin\n :type idx: Integer\n :rtype: Void\n=end\n def fix(idx)\n \n end\n\n\n=begin\n :type idx: Integer\n :rtype: Void\n=end\n def unfix(idx)\n \n end\n\n\n=begin\n :rtype: Void\n=end\n def flip()\n \n end\n\n\n=begin\n :rtype: Boolean\n=end\n def all()\n \n end\n\n\n=begin\n :rtype: Boolean\n=end\n def one()\n \n end\n\n\n=begin\n :rtype: Integer\n=end\n def count()\n \n end\n\n\n=begin\n :rtype: String\n=end\n def to_string()\n \n end\n\n\nend\n\n# Your Bitset object will be instantiated and called as such:\n# obj = Bitset.new(size)\n# obj.fix(idx)\n# obj.unfix(idx)\n# obj.flip()\n# param_4 = obj.all()\n# param_5 = obj.one()\n# param_6 = obj.count()\n# param_7 = obj.to_string()", "__typename": "CodeSnippetNode" }, { "lang": "Swift", "langSlug": "swift", "code": "\nclass Bitset {\n\n init(_ size: Int) {\n \n }\n \n func fix(_ idx: Int) {\n \n }\n \n func unfix(_ idx: Int) {\n \n }\n \n func flip() {\n \n }\n \n func all() -> Bool {\n \n }\n \n func one() -> Bool {\n \n }\n \n func count() -> Int {\n \n }\n \n func toString() -> String {\n \n }\n}\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * let obj = Bitset(size)\n * obj.fix(idx)\n * obj.unfix(idx)\n * obj.flip()\n * let ret_4: Bool = obj.all()\n * let ret_5: Bool = obj.one()\n * let ret_6: Int = obj.count()\n * let ret_7: String = obj.toString()\n */", "__typename": "CodeSnippetNode" }, { "lang": "Go", "langSlug": "golang", "code": "type Bitset struct {\n \n}\n\n\nfunc Constructor(size int) Bitset {\n \n}\n\n\nfunc (this *Bitset) Fix(idx int) {\n \n}\n\n\nfunc (this *Bitset) Unfix(idx int) {\n \n}\n\n\nfunc (this *Bitset) Flip() {\n \n}\n\n\nfunc (this *Bitset) All() bool {\n \n}\n\n\nfunc (this *Bitset) One() bool {\n \n}\n\n\nfunc (this *Bitset) Count() int {\n \n}\n\n\nfunc (this *Bitset) ToString() string {\n \n}\n\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * obj := Constructor(size);\n * obj.Fix(idx);\n * obj.Unfix(idx);\n * obj.Flip();\n * param_4 := obj.All();\n * param_5 := obj.One();\n * param_6 := obj.Count();\n * param_7 := obj.ToString();\n */", "__typename": "CodeSnippetNode" }, { "lang": "Scala", "langSlug": "scala", "code": "class Bitset(_size: Int) {\n\n def fix(idx: Int) {\n \n }\n\n def unfix(idx: Int) {\n \n }\n\n def flip() {\n \n }\n\n def all(): Boolean = {\n \n }\n\n def one(): Boolean = {\n \n }\n\n def count(): Int = {\n \n }\n\n def toString(): String = {\n \n }\n\n}\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * var obj = new Bitset(size)\n * obj.fix(idx)\n * obj.unfix(idx)\n * obj.flip()\n * var param_4 = obj.all()\n * var param_5 = obj.one()\n * var param_6 = obj.count()\n * var param_7 = obj.toString()\n */", "__typename": "CodeSnippetNode" }, { "lang": "Kotlin", "langSlug": "kotlin", "code": "class Bitset(size: Int) {\n\n fun fix(idx: Int) {\n \n }\n\n fun unfix(idx: Int) {\n \n }\n\n fun flip() {\n \n }\n\n fun all(): Boolean {\n \n }\n\n fun one(): Boolean {\n \n }\n\n fun count(): Int {\n \n }\n\n fun toString(): String {\n \n }\n\n}\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * var obj = Bitset(size)\n * obj.fix(idx)\n * obj.unfix(idx)\n * obj.flip()\n * var param_4 = obj.all()\n * var param_5 = obj.one()\n * var param_6 = obj.count()\n * var param_7 = obj.toString()\n */", "__typename": "CodeSnippetNode" }, { "lang": "Rust", "langSlug": "rust", "code": "struct Bitset {\n\n}\n\n\n/** \n * `&self` means the method takes an immutable reference.\n * If you need a mutable reference, change it to `&mut self` instead.\n */\nimpl Bitset {\n\n fn new(size: i32) -> Self {\n \n }\n \n fn fix(&self, idx: i32) {\n \n }\n \n fn unfix(&self, idx: i32) {\n \n }\n \n fn flip(&self) {\n \n }\n \n fn all(&self) -> bool {\n \n }\n \n fn one(&self) -> bool {\n \n }\n \n fn count(&self) -> i32 {\n \n }\n \n fn to_string(&self) -> String {\n \n }\n}\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * let obj = Bitset::new(size);\n * obj.fix(idx);\n * obj.unfix(idx);\n * obj.flip();\n * let ret_4: bool = obj.all();\n * let ret_5: bool = obj.one();\n * let ret_6: i32 = obj.count();\n * let ret_7: String = obj.to_string();\n */", "__typename": "CodeSnippetNode" }, { "lang": "PHP", "langSlug": "php", "code": "class Bitset {\n /**\n * @param Integer $size\n */\n function __construct($size) {\n \n }\n \n /**\n * @param Integer $idx\n * @return NULL\n */\n function fix($idx) {\n \n }\n \n /**\n * @param Integer $idx\n * @return NULL\n */\n function unfix($idx) {\n \n }\n \n /**\n * @return NULL\n */\n function flip() {\n \n }\n \n /**\n * @return Boolean\n */\n function all() {\n \n }\n \n /**\n * @return Boolean\n */\n function one() {\n \n }\n \n /**\n * @return Integer\n */\n function count() {\n \n }\n \n /**\n * @return String\n */\n function toString() {\n \n }\n}\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * $obj = Bitset($size);\n * $obj->fix($idx);\n * $obj->unfix($idx);\n * $obj->flip();\n * $ret_4 = $obj->all();\n * $ret_5 = $obj->one();\n * $ret_6 = $obj->count();\n * $ret_7 = $obj->toString();\n */", "__typename": "CodeSnippetNode" }, { "lang": "TypeScript", "langSlug": "typescript", "code": "class Bitset {\n constructor(size: number) {\n\n }\n\n fix(idx: number): void {\n\n }\n\n unfix(idx: number): void {\n\n }\n\n flip(): void {\n\n }\n\n all(): boolean {\n\n }\n\n one(): boolean {\n\n }\n\n count(): number {\n\n }\n\n toString(): string {\n\n }\n}\n\n/**\n * Your Bitset object will be instantiated and called as such:\n * var obj = new Bitset(size)\n * obj.fix(idx)\n * obj.unfix(idx)\n * obj.flip()\n * var param_4 = obj.all()\n * var param_5 = obj.one()\n * var param_6 = obj.count()\n * var param_7 = obj.toString()\n */", "__typename": "CodeSnippetNode" }, { "lang": "Racket", "langSlug": "racket", "code": "(define bitset%\n (class object%\n (super-new)\n \n ; size : exact-integer?\n (init-field\n size)\n \n ; fix : exact-integer? -> void?\n (define/public (fix idx)\n\n )\n ; unfix : exact-integer? -> void?\n (define/public (unfix idx)\n\n )\n ; flip : -> void?\n (define/public (flip)\n\n )\n ; all : -> boolean?\n (define/public (all)\n\n )\n ; one : -> boolean?\n (define/public (one)\n\n )\n ; count : -> exact-integer?\n (define/public (count)\n\n )\n ; to-string : -> string?\n (define/public (to-string)\n\n )))\n\n;; Your bitset% object will be instantiated and called as such:\n;; (define obj (new bitset% [size size]))\n;; (send obj fix idx)\n;; (send obj unfix idx)\n;; (send obj flip)\n;; (define param_4 (send obj all))\n;; (define param_5 (send obj one))\n;; (define param_6 (send obj count))\n;; (define param_7 (send obj to-string))", "__typename": "CodeSnippetNode" }, { "lang": "Erlang", "langSlug": "erlang", "code": "-spec bitset_init_(Size :: integer()) -> any().\nbitset_init_(Size) ->\n .\n\n-spec bitset_fix(Idx :: integer()) -> any().\nbitset_fix(Idx) ->\n .\n\n-spec bitset_unfix(Idx :: integer()) -> any().\nbitset_unfix(Idx) ->\n .\n\n-spec bitset_flip() -> any().\nbitset_flip() ->\n .\n\n-spec bitset_all() -> boolean().\nbitset_all() ->\n .\n\n-spec bitset_one() -> boolean().\nbitset_one() ->\n .\n\n-spec bitset_count() -> integer().\nbitset_count() ->\n .\n\n-spec bitset_to_string() -> unicode:unicode_binary().\nbitset_to_string() ->\n .\n\n\n%% Your functions will be called as such:\n%% bitset_init_(Size),\n%% bitset_fix(Idx),\n%% bitset_unfix(Idx),\n%% bitset_flip(),\n%% Param_4 = bitset_all(),\n%% Param_5 = bitset_one(),\n%% Param_6 = bitset_count(),\n%% Param_7 = bitset_to_string(),\n\n%% bitset_init_ will be called before every test case, in which you can do some necessary initializations.", "__typename": "CodeSnippetNode" }, { "lang": "Elixir", "langSlug": "elixir", "code": "defmodule Bitset do\n @spec init_(size :: integer) :: any\n def init_(size) do\n\n end\n\n @spec fix(idx :: integer) :: any\n def fix(idx) do\n\n end\n\n @spec unfix(idx :: integer) :: any\n def unfix(idx) do\n\n end\n\n @spec flip() :: any\n def flip() do\n\n end\n\n @spec all() :: boolean\n def all() do\n\n end\n\n @spec one() :: boolean\n def one() do\n\n end\n\n @spec count() :: integer\n def count() do\n\n end\n\n @spec to_string() :: String.t\n def to_string() do\n\n end\nend\n\n# Your functions will be called as such:\n# Bitset.init_(size)\n# Bitset.fix(idx)\n# Bitset.unfix(idx)\n# Bitset.flip()\n# param_4 = Bitset.all()\n# param_5 = Bitset.one()\n# param_6 = Bitset.count()\n# param_7 = Bitset.to_string()\n\n# Bitset.init_ will be called before every test case, in which you can do some necessary initializations.", "__typename": "CodeSnippetNode" } ], "stats": "{\"totalAccepted\": \"12.7K\", \"totalSubmission\": \"43.6K\", \"totalAcceptedRaw\": 12655, \"totalSubmissionRaw\": 43644, \"acRate\": \"29.0%\"}", "hints": [ "Note that flipping a bit twice does nothing.", "In order to determine the value of a bit, consider how you can efficiently count the number of flips made on the bit since its latest update." ], "solution": null, "status": null, "sampleTestCase": "[\"Bitset\",\"fix\",\"fix\",\"flip\",\"all\",\"unfix\",\"flip\",\"one\",\"unfix\",\"count\",\"toString\"]\n[[5],[3],[1],[],[],[0],[],[],[0],[],[]]", "metaData": "{\n \"classname\": \"Bitset\",\n \"constructor\": {\n \"params\": [\n {\n \"type\": \"integer\",\n \"name\": \"size\"\n }\n ]\n },\n \"methods\": [\n {\n \"params\": [\n {\n \"type\": \"integer\",\n \"name\": \"idx\"\n }\n ],\n \"name\": \"fix\",\n \"return\": {\n \"type\": \"void\"\n }\n },\n {\n \"params\": [\n {\n \"type\": \"integer\",\n \"name\": \"idx\"\n }\n ],\n \"name\": \"unfix\",\n \"return\": {\n \"type\": \"void\"\n }\n },\n {\n \"params\": [],\n \"name\": \"flip\",\n \"return\": {\n \"type\": \"void\"\n }\n },\n {\n \"params\": [],\n \"name\": \"all\",\n \"return\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"params\": [],\n \"name\": \"one\",\n \"return\": {\n \"type\": \"boolean\"\n }\n },\n {\n \"params\": [],\n \"name\": \"count\",\n \"return\": {\n \"type\": \"integer\"\n }\n },\n {\n \"params\": [],\n \"name\": \"toString\",\n \"return\": {\n \"type\": \"string\"\n }\n }\n ],\n \"return\": {\n \"type\": \"boolean\"\n },\n \"systemdesign\": true,\n \"manual\": false\n}", "judgerAvailable": true, "judgeType": "large", "mysqlSchemas": [], "enableRunCode": true, "enableTestMode": false, "enableDebugger": true, "envInfo": "{\"cpp\": [\"C++\", \"

Compiled with clang 11 using the latest C++ 17 standard.

\\r\\n\\r\\n

Your code is compiled with level two optimization (-O2). AddressSanitizer is also enabled to help detect out-of-bounds and use-after-free bugs.

\\r\\n\\r\\n

Most standard library headers are already included automatically for your convenience.

\"], \"java\": [\"Java\", \"

OpenJDK 17 . Java 8 features such as lambda expressions and stream API can be used.

\\r\\n\\r\\n

Most standard library headers are already included automatically for your convenience.

\\r\\n

Includes Pair class from https://docs.oracle.com/javase/8/javafx/api/javafx/util/Pair.html.

\"], \"python\": [\"Python\", \"

Python 2.7.12.

\\r\\n\\r\\n

Most libraries are already imported automatically for your convenience, such as array, bisect, collections. If you need more libraries, you can import it yourself.

\\r\\n\\r\\n

For Map/TreeMap data structure, you may use sortedcontainers library.

\\r\\n\\r\\n

Note that Python 2.7 will not be maintained past 2020. For the latest Python, please choose Python3 instead.

\"], \"c\": [\"C\", \"

Compiled with gcc 8.2 using the gnu99 standard.

\\r\\n\\r\\n

Your code is compiled with level one optimization (-O1). AddressSanitizer is also enabled to help detect out-of-bounds and use-after-free bugs.

\\r\\n\\r\\n

Most standard library headers are already included automatically for your convenience.

\\r\\n\\r\\n

For hash table operations, you may use uthash. \\\"uthash.h\\\" is included by default. Below are some examples:

\\r\\n\\r\\n

1. Adding an item to a hash.\\r\\n

\\r\\nstruct hash_entry {\\r\\n    int id;            /* we'll use this field as the key */\\r\\n    char name[10];\\r\\n    UT_hash_handle hh; /* makes this structure hashable */\\r\\n};\\r\\n\\r\\nstruct hash_entry *users = NULL;\\r\\n\\r\\nvoid add_user(struct hash_entry *s) {\\r\\n    HASH_ADD_INT(users, id, s);\\r\\n}\\r\\n
\\r\\n

\\r\\n\\r\\n

2. Looking up an item in a hash:\\r\\n

\\r\\nstruct hash_entry *find_user(int user_id) {\\r\\n    struct hash_entry *s;\\r\\n    HASH_FIND_INT(users, &user_id, s);\\r\\n    return s;\\r\\n}\\r\\n
\\r\\n

\\r\\n\\r\\n

3. Deleting an item in a hash:\\r\\n

\\r\\nvoid delete_user(struct hash_entry *user) {\\r\\n    HASH_DEL(users, user);  \\r\\n}\\r\\n
\\r\\n

\"], \"csharp\": [\"C#\", \"

C# 10 with .NET 6 runtime

\\r\\n\\r\\n

Your code is compiled with debug flag enabled (/debug).

\"], \"javascript\": [\"JavaScript\", \"

Node.js 16.13.2.

\\r\\n\\r\\n

Your code is run with --harmony flag, enabling new ES6 features.

\\r\\n\\r\\n

lodash.js library is included by default.

\\r\\n\\r\\n

For Priority Queue / Queue data structures, you may use datastructures-js/priority-queue and datastructures-js/queue.

\"], \"ruby\": [\"Ruby\", \"

Ruby 3.1

\\r\\n\\r\\n

Some common data structure implementations are provided in the Algorithms module: https://www.rubydoc.info/github/kanwei/algorithms/Algorithms

\"], \"swift\": [\"Swift\", \"

Swift 5.5.2.

\"], \"golang\": [\"Go\", \"

Go 1.17.6.

\\r\\n\\r\\n

Support https://godoc.org/github.com/emirpasic/gods library.

\"], \"python3\": [\"Python3\", \"

Python 3.10.

\\r\\n\\r\\n

Most libraries are already imported automatically for your convenience, such as array, bisect, collections. If you need more libraries, you can import it yourself.

\\r\\n\\r\\n

For Map/TreeMap data structure, you may use sortedcontainers library.

\"], \"scala\": [\"Scala\", \"

Scala 2.13.7.

\"], \"kotlin\": [\"Kotlin\", \"

Kotlin 1.3.10.

\"], \"rust\": [\"Rust\", \"

Rust 1.58.1

\\r\\n\\r\\n

Supports rand v0.6\\u00a0from crates.io

\"], \"php\": [\"PHP\", \"

PHP 8.1.

\\r\\n

With bcmath module

\"], \"typescript\": [\"Typescript\", \"

TypeScript 4.5.4, Node.js 16.13.2.

\\r\\n\\r\\n

Your code is run with --harmony flag, enabling new ES2020 features.

\\r\\n\\r\\n

lodash.js library is included by default.

\"], \"racket\": [\"Racket\", \"

Run with Racket 8.3.

\"], \"erlang\": [\"Erlang\", \"Erlang/OTP 24.2\"], \"elixir\": [\"Elixir\", \"Elixir 1.13.0 with Erlang/OTP 24.2\"]}", "libraryUrl": null, "adminUrl": null, "challengeQuestion": null, "__typename": "QuestionNode" } } }