Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions logic-exercises/exercicio/Anagrama/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
19 changes: 19 additions & 0 deletions logic-exercises/exercicio/Anagrama/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "exercicio-01",
"version": "1.0.0",
"description": "",
"main": "index.html",
"scripts": {
"start": "parcel index.html --open",
"build": "parcel build index.html"
},
"dependencies": {
"parcel-bundler": "^1.6.1"
},
"devDependencies": {
"typescript": "4.2.3"
},
"resolutions": {
"@babel/preset-env": "7.13.8"
}
}
28 changes: 28 additions & 0 deletions logic-exercises/exercicio/Anagrama/src/exercicio1.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/**
* ### Exercício de lógica - **Anagrama**
Escreva uma função que recebe duas strings `s` e `t` e define se `t` é um anagrama de `s`. Ou seja, se com as mesmas letras de `s`, é possível escrever `t`.
*Exemplos para melhor entendimento:
- Exemplo 1

**Input:** `s = "anagrama", t = "nagarama"`

**Output:** `true`

- Exemplo 2

**Input:** `s = "gato", t = "toga"`

**Output:** `true`

- Exemplo 3

**Input:** `s = "gato", t = "rato"`

**Output:** `false`
*/

export default class Anagrama {
VerificarAnagrama(s: string, t: string) {
return s.split("").sort().join("") === t.split("").sort().join("")
}
}
13 changes: 13 additions & 0 deletions logic-exercises/exercicio/Anagrama/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"compilerOptions": {
"target": "es2017",
"strict": true,
"module": "commonjs",
"jsx": "preserve",
"esModuleInterop": true,
"sourceMap": true,
"allowJs": true,
"rootDir": "src",
"moduleResolution": "node"
}
}
5,333 changes: 5,333 additions & 0 deletions logic-exercises/exercicio/Anagrama/yarn.lock

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions logic-exercises/exercicio/Ladrao_de_Casas/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
8 changes: 8 additions & 0 deletions logic-exercises/exercicio/Ladrao_de_Casas/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = {
roots: ["<rootDir>/tests"],
transform: {
"^.+\\.tsx?$": "ts-jest",
},
testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
};
23 changes: 23 additions & 0 deletions logic-exercises/exercicio/Ladrao_de_Casas/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"name": "exercicio-01",
"version": "1.0.0",
"description": "",
"main": "index.html",
"scripts": {
"test": "clear && jest",
"start": "parcel index.html --open",
"build": "parcel build index.html"
},
"dependencies": {
"jest": "^27.0.4",
"parcel-bundler": "^1.6.1"
},
"devDependencies": {
"@types/jest": "^26.0.23",
"typescript": "4.2.3"
},
"resolutions": {
"@babel/preset-env": "7.13.8"
},
"keywords": []
}
22 changes: 22 additions & 0 deletions logic-exercises/exercicio/Ladrao_de_Casas/src/exercicio1.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
export default class HouseRobber {
rob(nums: number[]): number {
if (!nums.length) return 0
if (nums.length <= 2) return Math.max(...nums)

const option1 = this.helper(nums.slice(0, nums.length - 1))
const option2 = this.helper(nums.slice(1))
return Math.max(option1, option2)
}

helper(nums: number[]): number {
const dp: number[] = Array(nums.length).fill(0)
dp[0] = nums[0]
dp[1] = Math.max(nums[0], nums[1])

for (let i = 2; i < nums.length; i++) {
dp[i] = Math.max(dp[i - 2] + nums[i], dp[i - 1])
}

return dp[nums.length - 1]
}
}
17 changes: 17 additions & 0 deletions logic-exercises/exercicio/Ladrao_de_Casas/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"compilerOptions": {
"target": "es2017",
"strict": true,
"module": "commonjs",
"jsx": "preserve",
"esModuleInterop": true,
"sourceMap": true,
"allowJs": true,
"lib": [
"es2017",
"dom"
],
"rootDir": "src",
"moduleResolution": "node"
}
}
Loading