This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
91 | |
Decode Ways 23.1% Medium | |
15 | |
3Sum 25.1% Medium | |
127 | |
Word Ladder 26.2% Medium | |
98 | |
Validate Binary Search Tree 26.6% Medium | |
179 | |
Largest Number 26.8% Medium |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Game extends Compoent { | |
... | |
renderActions() { | |
const { history } = this.state; | |
const selectedCell = this.getSelectedCell(); | |
const prefilled = selectedCell && selectedCell.get('prefilled'); | |
return ( | |
<div className="actions"> | |
<div className="action" onClick={history.size ? this.undo : null}> | |
<ReloadIcon />Undo |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Game extends Compoent { | |
... | |
eraseSelected = () => { | |
const selectedCell = this.getSelectedCell(); | |
if (!selectedCell) return; | |
this.fillNumber(false); | |
} | |
fillSelectedWithSolution = () => { | |
const { board, solution } = this.state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Game extends Compoent { | |
... | |
redo = () => { | |
const { history } = this.state; | |
let { historyOffSet } = this.state; | |
if (history.size) { | |
historyOffSet = Math.min(history.size - 1, historyOffSet + 1); | |
const board = history.get(historyOffSet); | |
this.setState({ board, historyOffSet }); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { List } from 'immutable'; | |
class Game extends Compoent { | |
constructor(props) { | |
super(props); | |
this.generateGame(); | |
} | |
generateGame = (finalCount = 20) => { | |
// get a filled puzzle generated |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Game extends Compoent { | |
... | |
renderNumberControl() { | |
const selectedCell = this.getSelectedCell(); | |
const prefilled = selectedCell && selectedCell.get('prefilled'); | |
return ( | |
<div className="control"> | |
{range(9).map((i) => { | |
const number = i + 1; | |
// handles binding single click and double click callbacks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function getNumberOfGroupsAssignedForNumber(number, groups) { | |
return groups.reduce((accumulator, row) => | |
accumulator + (row.get(number) > 0 ? 1 : 0), 0); | |
} | |
class Game extends Compoent { | |
... | |
// get the min between its completion in rows, columns and squares. | |
getNumberValueCount(number) { | |
const rows = this.state.board.getIn(['choices', 'rows']); | |
const columns = this.state.board.getIn(['choices', 'columns']); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Set } from 'immutable'; | |
/** | |
* give the coordinate update the current board with a number choice | |
* @param x | |
* @param y | |
* @param number | |
* @param fill whether to set or unset | |
* @param board the immutable board given to change | |
*/ | |
function updateBoardWithNumber({ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const NumberControl = ({ number, onClick, completionPercentage }) => ( | |
<div | |
key={number} | |
className="number" | |
onClick={onClick} | |
> | |
<div>{number}</div> | |
<CirclularProgress percent={completionPercentage} /> | |
<style jsx>{NumberControlStyle}</style> | |
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export function isPeer(a, b) { | |
if (!a || !b) return false; | |
const squareA = ((Math.floor(a.x / 3)) * 3) + Math.floor(a.y / 3); | |
const squareB = ((Math.floor(b.x / 3)) * 3) + Math.floor(b.y / 3); | |
return a.x === b.x || a.y === b.y || squareA === squareB; | |
} | |
class Game extends Compoent { | |
... | |
isConflict(i, j) { |
NewerOlder