Ankicode
AnkiCode - algorithms memorization app based on Anki
Install / Use
/learn @daveight/AnkicodeREADME
About
Fork of https://github.com/ankitects/anki.
This repo contains all the code for the computer version of AnkiCode.
Features
- New card "Programming Challenge" allows to memorize programming solutions using Anki algorithm.
- Support of
C++,Kotlin,Java,JavaScript,Pythonlanguages. - Code execution runtime is bundled inside the app, the code is executed locally.
- Integrated code editor with syntax highlighting and theme selection.
Downloads
| Platform | Language | Link | Size |
| :---------------- |:--------------------------------------| :-------------------------------------------------------------|:-------|
| Windows 10/11 | C++, Python, Java, JavaScript, Kotlin | AnkiCode-1.4.0-windows-qt6.exe | 1.3 GB |
| Mac OS Intel | Python, Java, JavaScript, Kotlin | AnkiCode-1.3.0-mac-intel-qt6.dmg | 383 MB |
| Mac OS ARM | C++, Python, Java, JavaScript, Kotlin | AnkiCode-1.4.0-mac-apple-qt6.dmg | 671 MB |
C++ Setup on macOS for AnkiCode
To run AnkiCode decks using C++, you need to install Apple's Xcode Command Line Tools. These tools provide the necessary runtime environment for executing C++ code within AnkiCode.
Installation
Run the following command in your terminal to install Xcode Command Line Tools:
xcode-select --install
Running the app in MacOS Sonoma
The following error: "App is Damaged and Can't Be Opened. You Should Move it to the Trash" can be fixed as follows:
In terminal execute the following command:
sudo xattr -cr /Applications/AnkiCode.app
Programming Challenge Decks
LeetCode
Decks based on LeetCode problems https://github.com/interviewcoder/leetcode.
| Name | Count |Link | Size | | :------------------ |:-------|:-----------------------------------------------------------|:--------| | Easy | 50 | easy.apkg | 31 KB | | Medium | 114 | medium.apkg | 103 KB | | Hard | 44 | hard.apkg | 51 KB |
Problems List
<details><summary>Click to Expand/Collapse</summary>| # | Name | Complexity | Tags |
| :--- | :------------------ |:----------- |:---- |
| 1 | ZigZag Conversion | Easy | String |
| 2 | Reverse Integer | Easy | Math |
| 3 | Palindrome Number | Easy | Math |
| 4 | Roman to Integer | Easy | Math String |
| 5 | Longest Common Prefix | Easy | String |
| 6 | Remove Nth Node From End of List | Easy | Linked List Two Pointers |
| 7 | Valid Parentheses | Easy | Stack String |
| 8 | Merge Two Sorted Lists | Easy | Linked List |
| 9 | Remove Duplicates from Sorted Array | Easy | Array Two Pointers |
| 10 | Remove Element | Easy | Array Two Pointers |
| 11 | Implement strStr() | Easy | Two Pointers String |
| 12 | Valid Sudoku | Easy | Hash Table |
| 13 | Count and Say | Easy | String |
| 14 | Length of Last Word | Easy | String |
| 15 | Plus One | Easy | Array Math |
| 16 | Add Binary | Easy | Math String |
| 17 | Climbing Stairs | Easy | Dynamic Programming |
| 18 | Remove Duplicates from Sorted List | Easy | Linked List |
| 19 | Merge Sorted Array | Easy | Array Two Pointers |
| 20 | Same Tree | Easy | Tree Depth-first Search |
| 21 | Symmetric Tree | Easy | Tree Depth-first Search |
| 22 | Binary Tree Level Order Traversal | Easy | Tree Breadth-first Search |
| 23 | Maximum Depth of Binary Tree | Easy | Tree Depth-first Search |
| 24 | Binary Tree Level Order Traversal II | Easy | Tree Breadth-first Search |
| 25 | Balanced Binary Tree | Easy | Tree Depth-first Search |
| 26 | Minimum Depth of Binary Tree | Easy | Tree Depth-first Search Breadth-first Search |
| 27 | Path Sum | Easy | Tree Depth-first Search |
| 28 | Pascal's Triangle | Easy | Array |
| 29 | Pascal's Triangle II | Easy | Array |
| 30 | Valid Palindrome | Easy | Two Pointers String |
| 31 | Intersection of Two Linked Lists | Easy | Linked List |
| 32 | Compare Version Numbers | Easy | String |
| 33 | Excel Sheet Column Title | Easy | Math |
| 34 | Excel Sheet Column Number | Easy | Math |
| 35 | Factorial Trailing Zeroes | Easy | Math |
| 36 | Rotate Array | Easy | Array |
| 37 | Remove Linked List Elements | Easy | Linked List |
| 38 | Count Primes | Easy | Hash Table Math |
| 39 | Reverse Linked List | Easy | Linked List |
| 40 | Contains Duplicate | Easy | Array Hash Table |
| 41 | Contains Duplicate II | Easy | Array Hash Table |
| 42 | Rectangle Area | Easy | Math |
| 43 | Summary Ranges | Easy | Array |
| 44 | Power of Two | Easy | Math Bit Manipulation |
| 45 | Lowest Common Ancestor of a Binary Search Tree | Easy | Tree |
| 46 | Valid Anagram | Easy | Hash Table Sort |
| 47 | Strobogrammatic Number | Easy | Hash Table Math |
| 48 | Meeting Rooms | Easy | Sort |
| 49 | First Bad Version | Easy | Binary Search |
| 50 | Move Zeroes | Easy | Array Two Pointers |
| 51 | Two Sum | Medium | Array Hash Table |
| 52 | Add Two Numbers | Medium | Linked List Math |
| 53 | Longest Substring Without Repeating Characters | Medium | Hash Table Two Pointers String |
| 54 | Longest Palindromic Substring | Medium | String |
| 55 | Container With Most Water | Medium | Array Two Pointers |
| 56 | Integer to Roman | Medium | Math String |
| 57 | 3Sum | Medium | Array Two Pointers |
| 58 |
