Distansakademin

Övningar dag 2

Enkla övningar

De här övningarna bör ni klara utan större problem och kommer att ge er en bra grund att stå på när ni går vidare till de svårare övningarna.

  1. Skapa en variabel med typen string och tilldela den ett namn.
  2. Skapa en funktion som tar emot två tal som parametrar och returnerar deras summa.
  3. Skapa en klass som representerar en bil med egenskaper som modell, färg och år.
  4. Skapa en interface för en person med egenskaper som namn, ålder och e-postadress.
  5. Skapa en funktion som tar emot en array och returnerar det största talet i arrayen.
  6. Skapa en generisk klass som kan användas för att skapa olika typer av listor
  7. Skapa en funktion som tar emot ett datum och returnerar antalet dagar sedan det datumet.
  8. Skapa en interface för en geometrisk figur med metoder för att beräkna omkrets och area.
  9. Skapa en enum för veckodagar med värdena Monday till Sunday.
  10. Skapa en funktion som tar emot en sträng och returnerar antalet vokaler i strängen.
  11. Skapa en typ för en maträtt med egenskaper som namn, pris och ingredienser.
  12. Skapa en funktion som tar emot två parametrar av typen string och returnerar en sammanslagen sträng.
  13. Skapa en klass som representerar en bok med egenskaper som titel, författare och utgivningsår.
  14. Skapa en funktion som tar emot ett tal och returnerar true om talet är ett primtal, annars false.
  15. Skapa en interface för en djurpark med metoder för att lägga till och ta bort djur.
  16. Skapa en funktion som tar emot en array och returnerar den sorterade arrayen i stigande ordning.
  17. Skapa en klass som representerar en kund med egenskaper som namn, adress och telefonnummer.
  18. Skapa en funktion som tar emot ett tal och returnerar summan av alla tal upp till det talet.
  19. Skapa en typ union för att representera antingen en sträng eller en siffra.
  20. Skapa en funktion som tar emot en array av tal och returnerar summan av alla jämna tal i arrayen.

Avancerade övningar

De här övningarna är lite svårare och kräver att ni har en bra förståelse för de grundläggande koncepten i Typescript. De kan också kräva mycket sökande på internet för att hitta rätt information.

  1. Skapa en funktion som tar emot en array av objekt och en egenskap och returnerar en ny array som sorterar objekten baserat på den angivna egenskapen.
  2. Skapa en abstrakt klass för en geometrisk figur och implementera den i klasser som representerar cirkel, kvadrat och triangel.
  3. Skapa en funktion som tar emot en array av strängar och returnerar en ny array med unika värden (utan dubbletter).
  4. Skapa en funktion som tar emot en sträng och returnerar en ny sträng där orden är sorterade i bokstavsordning.
  5. Skapa en generisk funktion som tar emot en array och en funktion som används för att filtrera arrayen baserat på ett villkor.
  6. Skapa en klass som representerar en spelare i ett spel och implementera egenskaper och metoder för att hantera spelarens poäng och position.
  7. Skapa en funktion som tar emot en array av objekt och returnerar en ny array med objekt som har unika värden baserat på en specifik egenskap.
  8. Skapa en klass som representerar en kö och implementera metoder för att lägga till och ta bort element från kön.
  9. Skapa en funktion som tar emot en sträng och returnerar true om strängen är ett palindrom (läses likadant fram och bak), annars false.
  10. Skapa en typ för en asynkron funktion med hjälp av Promises eller async/await och använd den för att hantera en asynkron uppgift som att hämta data från en API.
  11. Skapa en funktion som tar emot en array av objekt och en nyckel och returnerar en ny array där objekten är grupperade efter den angivna nyckeln.
  12. Skapa en klass som representerar en bokningssida och implementera metoder för att boka och avboka rum.
  13. Skapa en funktion som tar emot två datum och returnerar antalet arbetsdagar mellan dessa datum (exklusive helgdagar och helger).
  14. Skapa en typ för en reducer-funktion som används för att kombinera element i en array och använda den för att implementera en funktion som tar emot en array och returnerar en sammanfattning av elementen.
  15. Skapa en funktion som tar emot en sträng och returnerar en ny sträng där alla vokaler har ersatts med asterisk (*)-symbolen.
  16. Skapa en klass som representerar en bokhandel och implementera metoder för att hantera försäljning av böcker och beräkna total försäljning.
  17. Skapa en funktion som tar emot en array av tal och returnerar true om det finns ett par av tal som summerar till en given summa, annars false.
  18. Skapa en klass som representerar en flygplats och implementera metoder för att hantera flygningar och visa information om försenade flygningar.
  19. Skapa en funktion som tar emot en array av objekt och en nyckel och returnerar en ny array där objekten är unika baserat på den angivna nyckeln.
  20. Skapa en typ för en generisk funktion som tar emot två parametrar av olika typer och returnerar true om de två parametrarna är lika, annars false.

Svåra övningar

De här övningarna är riktigt svåra och kräver att ni har en mycket god förståelse för de grundläggande koncepten i Typescript. De kan också kräva mycket sökande på internet för att hitta rätt information.

  1. Implementera en binärsökning i en sorterad array.
  2. Skapa en funktion som tar emot en sträng och returnerar antalet förekomster av varje unikt tecken i strängen.
  3. Implementera Djikstras algoritm för att hitta den kortaste vägen mellan två noder i en graf.
  4. Skapa en funktion som tar emot två datum och returnerar antalet arbetsdagar mellan dessa datum (inklusive helgdagar och helger, med undantag för vissa specifika datum).
  5. Skapa en funktion som tar emot en string av parenteser och returnerar true om parenteserna är balanserade, annars false.
  6. Implementera en quicksort-algoritm för att sortera en array i stigande ordning.
  7. Skapa en funktion som tar emot en array av objekt och en sträng och returnerar en ny array som sorterar objekten baserat på den angivna strängen (som kan vara en egenskap eller en metod i objektet).
  8. Implementera en algoritm för att hitta det n:te Fibonacci-talet.
  9. Skapa en funktion som tar emot en sträng med en matematisk formel och returnerar resultatet av uttrycket.
  10. Implementera en LRU-cache (Least Recently Used) med hjälp av en hashmap och en dubbellänkad lista.
  11. Skapa en funktion som löser en sudoku-bräda med en backtracking-algoritm.
  12. Implementera en Huffman-kodning för att komprimera en sträng.
  13. Skapa en funktion som löser en schackbräda genom att placera n antal drottningar på brädet utan att de hotar varandra.
  14. Implementera en algoritm för att hitta den längsta stig i en riktad acyklisk graf (DAG).
  15. Skapa en funktion som tar emot en sträng och returnerar alla permutationer av strängen.
  16. Implementera en algoritm för att lösa det berömda knapssatsproblemet (NP-complete).
  17. Skapa en funktion som tar emot en array av objekt och en funktion för att gruppera objekten baserat på en specifik egenskap, och sedan returnerar en ny array med de grupperade objekten.
  18. Implementera en algoritm för att hitta den längsta gemensamma delaren (GCD) för två tal.
  19. Skapa en funktion som tar emot en array av tal och returnerar den minsta subarrayen med positiva tal som har den största summan.
  20. Implementera en algoritm för att hitta den närmaste gemensamma föräldern för två noder i ett binärt träd.