Hirdetés
- Lassacskán fenyőfát állítanak a hardverek
- Tudjuk, de nem tesszük: a magyarok többsége nem törődik adatai védelmével
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- Irodát kért, de gyárat kapott Elon Musk a Samsungtól
- Nyílt forráskódú lett a legegyszerűbben használható AI tartalomgeneráló
- Hazavághatja a MicroSD memóriakártyák piacát a Biwin-féle Mini SSD
- Rogyásig pakolható a Cooler Master Cosmos szériás csúcsháza
- VR topik
- Milyen Blu-ray írót?
- TCL LCD és LED TV-k
- Milyen notebookot vegyek?
- Milyen billentyűzetet vegyek?
- ASUS ROG Ally
- Több száz játékban kezdi meg karrierjét az FSR Redstone
- Apple asztali gépek
Új hozzászólás Aktív témák
-
Zalanius
tag
válasz
Bobrooney
#3042
üzenetére
Kipróbáltam két oszloppal, 10 ezer sorban, de nehezítésképpen úgy, hogy az első 5000-ben csak X volt mindenhol, és az egyik gyümölcsnél később is csak X volt. Nem is igazán mérhető a futásidő, fél másodpercnél is kevesebb. Tehát vagy rengeteg oszlopod lehet, vagy sok százezer sor, vagy még egyéb tényezők. De a 10 perc mindenképpen túlzás.
Tudom h nem kértél konkrétumot, de csak bemásolok ide egy rövidke scriptet, egyszerű megközelítésben, valami támpontot adhat azért.
Option Base 1
Sub t()
Dim gimilc()
Dim vannemX()
Dim n%, i%
Dim g As String
n = 1
ReDim Preserve gimilc(n)
ReDim Preserve vannemX(n)
gimilc(1) = Cells(2, 1).Value
vannemX(1) = False
If Cells(2, 2).Value <> "X" Then
vannemX(1) = True
End If
For i = 3 To 10000
g = Cells(i, 1).Value
Dim gindex%
gindex = -1
For j = 1 To n
If gimilc(j) = g Then
gindex = j
Exit For
End If
Next
If gindex = -1 Then
n = n + 1
ReDim Preserve gimilc(n)
ReDim Preserve vannemX(n)
gimilc(n) = g
vannemX(n) = False
If Cells(i, 2).Value <> "X" Then vannemX(n) = True
Else
If vannemX(gindex) = False Then
If Cells(i, 2).Value <> "X" Then vannemX(gindex) = True
End If
End If
Next
End Sub -
csaszizoltan
csendes tag
válasz
Bobrooney
#3042
üzenetére
Szia!
Gondolom az egyes celláinak elérése nem gyors vagy minden X találat után indítasz egy új átfésülést, ami fölösleges ezért
Rakd tömbbe a gyümölcsneveket (ha sokféle van, kb 100-nál több akkor bináris fába, ahol a fa egyes mutatói még két tömbben helyezkednek el tömbindexként) és másik két ugyanakkora tömbbe, hogy van X benne és van nem X benne. Ez az algoritmus egyszer fog végigfutni a munkalapon.
Érdekelne majd a "gyümölcsökre" megvalósított algoritmus, hogy beleszólhassak a gyorsabb futás érdekében.
Üdv
Új hozzászólás Aktív témák
- Hogwarts Legacy teszt
- Nintendo Switch 2
- Háztartási gépek
- Elemlámpa, zseblámpa
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Hazavághatja a MicroSD memóriakártyák piacát a Biwin-féle Mini SSD
- Bestbuy játékok
- Formula-1
- Samsung Galaxy A17 5G – megint 16
- Kerékpárosok, bringások ide!
- További aktív témák...
- Samsung S20 Ultra 5G + Galaxy Watch 5 Pro egyben, tokokkal, dobozokkal
- Eladó macbook pro 16 M1 Max 10 CPU/32 GPU 64GB 1TB
- Nálam már kapható a jelenlegi leggyorsabb brutál notebook: Samsung Galaxy Book 5 Edge 5G!
- Sony WF-G700 White- INZONE Buds vezeték nélküli zajszűrős(ANC) fülhallgató - Fekete, 2 év gari
- High-End AMD Ryzen 9 9950X3D, ASRock X870E Taichi + Dell AlienWare AW2725DF + ajándékok
- Dell Latitude 5530 i7-1255U 16GB 512GB 15.6" FHD TouchScreen Nagyakksis! 1 év teljeskörű garancia!
- 159 - Lenovo LOQ (15APH8) - AMD Ryzen 7 7840HS, RTX 4060
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W with combo cable (3TR87AA)
- Eredeti Lenovo 300W töltők - ADL300SDC3A
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



