Skip to content

Instantly share code, notes, and snippets.

View thinkphp's full-sized avatar

Adrian Statescu thinkphp

View GitHub Profile
@thinkphp
thinkphp / angajat.muncitor.inginer.cpp
Created April 5, 2026 15:01
Proiect numarul 2 Angajat, Inginer, Muncitor
#include <iostream>
#include <vector>
#include <string>
using namespace std;
//===============================================
// CLASA ABSTRACTA ANGAJAT
//===============================================
class Angajat {
@thinkphp
thinkphp / vectorSiMap.cpp
Last active April 5, 2026 14:32
Exemplu Vector si Map in action
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main() {
map<int, string> studenti;
@thinkphp
thinkphp / proiect1.cpp
Last active April 5, 2026 14:20
Clase: Carte , Sala proiect1.cpp
#include <iostream>//cout,cin
#include <fstream> //fstream
#include <string>
#include <map>
//=========================================================
// CLASA CARTE
//=========================================================
using namespace std;
@thinkphp
thinkphp / Triangle Problem Dynamic Programming.java
Created April 2, 2026 18:38
Triangle Problem Dynamic Programming
import java.util.Scanner;
import java.io.*;
/*
Se considera un triunghi de numere naturale format din n linii.
Prima linie contine un numar, a doua linie doua numere...ultima linie n numere naturale.
Cu ajutorul acestui triunghi se pot forma sume de numere naturale in felul urmator:
@thinkphp
thinkphp / climbingStairs.java
Last active April 2, 2026 18:06
climbing Stairs - introducere in Programare dinamica; sirul lui fibonacci
class Solution {
public int climbingStairs(int n) {
int dp[] = new int[n+1];
Arrays.fill(dp, -1);
return solve(n, dp);
}
@thinkphp
thinkphp / fibonacci.java
Created April 2, 2026 18:00
fibonacci.java . Complexitati: O(n), O(2^n),O(n)
/*
Programare Dinamica
-------------------
Programarea dinamica (dezvoltata in 1950 de Bellman) esteo tehnica algoritmica ce conduce, de ce le mai multe ori, la un timp de calcul polinomial(O(n^2), O(n)). Spre deosebire de alte tehnici,
ea furnizeaza intotdeauna solutia optima, dar nu se poate aplica oricarei probleme, ci doar celor care indepliplinesc anumite conditii.
Principiul de Optimalitate
@thinkphp
thinkphp / floyd-cycle-detection.java
Created April 2, 2026 17:21
floyd-cycle-detection.java
//Floyd's Algorithms Cycle detection - find duplicate Complexity O(n)
class Solution {
public int findDuplicate(int[] nums) {
int slow = nums[0];
int fast = nums[0];
@thinkphp
thinkphp / find-duplicate-complexitate-logN.java
Created April 2, 2026 17:15
find-duplicate-complexitate-logN.java
//solution: log n
//n log n (Array.sort(nums))
//O(n^2)
//O(n)
class Solution {
//[1,3,4,2,2]
//length = 5
//low = 1;
//high = 5;
@thinkphp
thinkphp / find-duplicate-leetcode.java
Last active April 2, 2026 17:07
find-duplicate-leetcode.java
class Solution {
public int findDuplicate(int[] nums) {
Arrays.sort(nums); //quicksort O(n log n)
for(int i = 0; i < nums.length; ++i) { //O(n)
if(nums[i] == nums[i+1]) return nums[i];
@thinkphp
thinkphp / backtracking-generare-perm.java
Last active April 2, 2026 16:39
backtracking-generare-perm.java
import java.io.*;
import java.util.Scanner;
/*
1 2 3
1 3 2
.....
3 2 1
n! = 1 * 2 * ... * n
*/