• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 02:09
CEST 08:09
KST 15:09
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins HomeStory Cup 2914Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
IntoTheTV X SOOP SC2 League : Weekly & Monthly4Clem: "I don't have that much hope in Blizzard"2ZeroSpace Early Access is Now Live!20Weekly Cups (July 13-19): Terran & Protoss rise; Zerg falters2Balance hotfix patch 5.0.16b (July 16)89
StarCraft 2
General
How would you feel about frequent/monthly balance patches for SC2? Balance hotfix patch 5.0.16b (July 16) Reynor: GSL Loss Wasn't About Preparation Format Clem: "I don't have that much hope in Blizzard" Weekly Cups (July 13-19): Terran & Protoss rise; Zerg falters
Tourneys
IntoTheTV X SOOP SC2 League : Weekly & Monthly INu's Battles#18 - Cure, herO, Rogue & ByuN RSL Revival: Season 6 - Qualifiers and Main Event Master Swan Open (Global Bronze-Master 2) WardiTV Summer Cup 2026
Strategy
[G] Having the right mentality to improve
Custom Maps
[M] (2) Industrial Park New Map Maker - Looking for Advice - Love or Hate
External Content
Mutation # 535 Assembly of Vengeance The PondCast: SC2 News & Results Mutation # 534 Burning Evacuation Mutation # 533 Die Together
Brood War
General
BW General Discussion How Famous was FlaSh before his Debut? Animated Gateway BGH Auto Balance -> http://bghmmr.eu/ HORROR STARCRAFT MOVIE
Tourneys
Small VOD Thread 2.0 Escore Tournament - Season 3 [Megathread] Daily Proleagues [IPSL] Spring 2026 Grand Finals - This Weekend!
Strategy
Simple Questions, Simple Answers PvT advise for noobs Fighting Spirit mining rates Creating a full chart of Zerg builds
Other Games
General Games
General RTS Discussion Thread Path of Exile ZeroSpace Early Access is Now Live! Nintendo Switch Thread Diablo IV
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread TL Mafia Power Rank NeO.D_StephenKing vs This Guy From 1 Million Dance Vanilla Mini Mafia
Community
General
US Politics Mega-thread Artificial Intelligence Thread Russo-Ukrainian War Thread How to buy a book - shipping from Korea to Europe The Games Industry And ATVI
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Series you have seen recently... Movie Discussion! [Req][Books] Good Fantasy/SciFi books
Sports
2024 - 2026 Football Thread TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion MLB/Baseball 2023 McBoner: A hockey love story
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Simple Questions Simple Answers FPS when play League Of Legend on laptop
TL Community
Northern Ireland Global Starcraft The Automated Ban List
Blogs
How Games can Help with Majo…
TrAiDoS
Hello guys!
LIN1s
ASL S22 English Commentary…
namkraft
Poker (part 2)
Nebuchad
An Exploration of th…
waywardstrategy
Customize Sidebar...

Website Feedback

Closed Threads



Active: 4604 users

The Big Programming Thread - Page 800

Forum Index > General Forum
Post a Reply
Prev 1 798 799 800 801 802 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
November 21 2016 06:44 GMT
#15981
What do you guys think is faster?

Method 1:
1. Get all items via api call (assuming 3000 items)
2. for each item in items
2.a get item count via api call using item.id
2.b get item status via api call using item.id
3. sort items descending via item.count, return 5.

Method 2:
1. Get all items via api call (assuming 3000 items)
2. for each item in items
2.a get item count via api call using item.id
3. newItems = sort items descending via item.count take 5
4. for each item in newItems
4.a get item status via api call using item.id

I'm thinking method 2 but I just want to make sure
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
Aerisky
Profile Blog Joined May 2012
United States12129 Posts
Last Edited: 2016-11-21 07:19:50
November 21 2016 07:13 GMT
#15982
Yup, second makes more sense, cuz if you think about it:

Method 1
1 get for 3000 items (for id)
2 gets on each of those 3000 items (for count & status)
1 sort on 3000 items, look at top 5 items
Return top 5 items' statuses

Method 2
1 get for 3000 items (for id)
1 get on each of those 3000 items (for count)
1 sort on 3000 items, look at top 5 items
1 get (for status) on each of these 5 items, return

The bottleneck is probably the API calls, so the fact that you're doing fewer unnecessary gets for status would probably save a lot of time. The 2995 gets for the statuses of non-top-5 items in method 1 aren't needed at all.
Jim while Johnny had had had had had had had; had had had had the better effect on the teacher.
icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
November 21 2016 07:15 GMT
#15983
yeah, talked about it with a colleague since I'm thinking method 2 would be O(2N) while method 1 is O(N) only. Corrected me that method 2 would just be O(N+5)
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
Neshapotamus
Profile Blog Joined May 2006
United States163 Posts
November 21 2016 07:30 GMT
#15984
On November 21 2016 16:15 icystorage wrote:
yeah, talked about it with a colleague since I'm thinking method 2 would be O(2N) while method 1 is O(N) only. Corrected me that method 2 would just be O(N+5)


Just curious, how did you get O(2N) or O(N)?
If you are using BigO notation, you don't need to keep constants.

Besides the point.

First Method:
n = 3000
loop = 1 to n
sort n
O(N + N log N) = O(N log N)

From your original post, you want to return just the top 5 from your sorted list?

use a partition method(rselect, dselect), this should run in, log N. This will partition your data into 2 sets (a1, a2).
Then your first algo runs in O(N+ log N). If you need your top 5 sorted. This is would be O(N + log N + a1 log a1) = O(N) since your N = 3000 and a1=5
icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
November 21 2016 07:32 GMT
#15985
I actually just used linq in sorting it

We didnt take into account the notation for the sort, just talking about the loops.
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
Neshapotamus
Profile Blog Joined May 2006
United States163 Posts
November 21 2016 07:44 GMT
#15986
So started looking at your second method, and I finally understand what you are doing.

So, we can subtract what's common from both.
Common:
Time Taken = Action
1 = api call to get items
n = 1 to n loop to populate item count.
n log n = sort

Different:
Method 1:
n = get status for items

Method 2:
5 = get status for top 5 items

So, your right, you will save time on method 2

I think you can save time on the sort. Look at quicksort partition method. Rselect is just a variation of binary search and partition. (http://analgorithmaday.blogspot.com/2011/05/randomized-selection-algorithm.html)
You can do this in log N time, and would make your algorithm faster. Honestly, if your list is this small, then there is no need.

icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
November 21 2016 07:52 GMT
#15987
yeah, it's just a call from a user's twitter timeline, twitter documentation said that there's a 3200 tweet limit so I just used linq in sorting.
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-11-22 03:28:30
November 22 2016 01:40 GMT
#15988
Pretty annoyed right now. My project, which I have spent a lot of time on, works perfectly visually. I have to use 3 different algorithms to solve a GUI maze. I can clearly see that my algorithms work as they should to solve the maze.

The code looks good to me. I checked and rechecked and re-rechecked.

And yet when I submit my project to the school's submit server I fail all 3 tests on the algorithm. Also i time out on a BFS test which I don't understand either. It doesn't really seem that complicated.

This is dumb. There seems to be no way to know what is going wrong. I am highly suspicious that there is actually a problem with the test server's code.
Hanh
Profile Joined June 2016
146 Posts
November 22 2016 01:48 GMT
#15989
On November 21 2016 16:44 Neshapotamus wrote:
So started looking at your second method, and I finally understand what you are doing.

So, we can subtract what's common from both.
Common:
Time Taken = Action
1 = api call to get items
n = 1 to n loop to populate item count.
n log n = sort

Different:
Method 1:
n = get status for items

Method 2:
5 = get status for top 5 items

So, your right, you will save time on method 2

I think you can save time on the sort. Look at quicksort partition method. Rselect is just a variation of binary search and partition. (http://analgorithmaday.blogspot.com/2011/05/randomized-selection-algorithm.html)
You can do this in log N time, and would make your algorithm faster. Honestly, if your list is this small, then there is no need.



In linq, this is called a PartialSort operator
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2016-11-22 02:11:21
November 22 2016 02:07 GMT
#15990
On November 22 2016 10:40 travis wrote:
Pretty annoyed right now. My project, which I have spent a lot of time on, works perfectly visually. I have to use 3 different algorithms to solve a GUI maze. I can clearly see that my algorithms work as they should to solve the maze.

The code looks good to me. I checked and rechecked and re-rechecked.

And yet when I submit my project to the school's submit server I fail all 3 tests on the algorithm. Also i time out on a BFS test which I don't understand either. It doesn't really seem that complicated.

This is dumb. There seems to be no way to know what is going wrong. I am highly suspicious that there is actually a problem with the test server's code.


This is how I do my BFS of my graph, for example

My graph has


public V data;
private Map<V, Connections> vertices = new HashMap<V, Connections>();

// Inner class edge defines what a vertex is
class Connections {

// Each vertex has a map listing it's edges
private Map<V, Integer> edges = new HashMap<V, Integer>();

public Connections() {

}

}


And my BFS does this (with some added method calls that they require that meet their exact specifications):


public void bfs(V start, V end) {

Set<V> visitedSet = new HashSet<V>();
LinkedList<V> queue = new LinkedList<V>();

queue.add(start);

while (!queue.isEmpty()) {
V current;
current = queue.remove();

visitedSet.add(current);


for (V vertex : vertices.get(current).edges.keySet()) {

if (!visitedSet.contains(vertex)) {
queue.add(vertex);
}
}

if (current.equals(end)) { do the ending stuff here and return }

}


I mean this is pretty straightforward right? I don't even understand what could be wrong with it.

And then DFS is even more straightforward and I fail that too.



Why are you using LinkedList instead of Queue?
Why do you declare the variable "V current" on a separate line?
What is "V data" supposed to do?

Whatever the class V might not have implemented hashcode. Does V implement equals properly either?

Does your code work with your own input? Do you have sample input provided to you? Are you sure you're following the test specifications correctly?
There is no one like you in the universe.
Hanh
Profile Joined June 2016
146 Posts
November 22 2016 02:10 GMT
#15991
On November 22 2016 10:40 travis wrote:
Pretty annoyed right now. My project, which I have spent a lot of time on, works perfectly visually. I have to use 3 different algorithms to solve a GUI maze. I can clearly see that my algorithms work as they should to solve the maze.

The code looks good to me. I checked and rechecked and re-rechecked.

And yet when I submit my project to the school's submit server I fail all 3 tests on the algorithm. Also i time out on a BFS test which I don't understand either. It doesn't really seem that complicated.

This is dumb. There seems to be no way to know what is going wrong. I am highly suspicious that there is actually a problem with the test server's code.


This is how I do my BFS of my graph, for example

My graph has


public V data;
private Map<V, Connections> vertices = new HashMap<V, Connections>();

// Inner class edge defines what a vertex is
class Connections {

// Each vertex has a map listing it's edges
private Map<V, Integer> edges = new HashMap<V, Integer>();

public Connections() {

}

}


And my BFS does this (with some added method calls that they require that meet their exact specifications):


public void bfs(V start, V end) {

Set<V> visitedSet = new HashSet<V>();
LinkedList<V> queue = new LinkedList<V>();

queue.add(start);

while (!queue.isEmpty()) {
V current;
current = queue.remove();

visitedSet.add(current);


for (V vertex : vertices.get(current).edges.keySet()) {

if (!visitedSet.contains(vertex)) {
queue.add(vertex);
}
}

if (current.equals(end)) { do the ending stuff here and return }

}


I mean this is pretty straightforward right? I don't even understand what could be wrong with it.

And then DFS is even more straightforward and I fail that too.



Maybe your output doesn't match what they are looking for.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
November 22 2016 02:18 GMT
#15992
Well the thing is that I passed all the tests that tested the "setting up" of my graph (and associated maze, since it's about going through a maze). So I know the data structures are good.

And the project comes with a GUI that you can watch it go through the maze. So I can see it doing the maze.

And the project comes with included methods that you call when certain events happen, so the output is really just calling their methods.
Chocolate
Profile Blog Joined December 2010
United States2350 Posts
November 22 2016 02:53 GMT
#15993
Are you doing the UC Berkeley Pacman "Search" project?
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
November 22 2016 03:04 GMT
#15994
naw ours is just start to finish of a maze
and then once start to finish going through weighted paths (with djikstras)
Acrofales
Profile Joined August 2010
Spain18387 Posts
November 22 2016 03:44 GMT
#15995
On November 22 2016 11:07 Blisse wrote:
Show nested quote +
On November 22 2016 10:40 travis wrote:
Pretty annoyed right now. My project, which I have spent a lot of time on, works perfectly visually. I have to use 3 different algorithms to solve a GUI maze. I can clearly see that my algorithms work as they should to solve the maze.

The code looks good to me. I checked and rechecked and re-rechecked.

And yet when I submit my project to the school's submit server I fail all 3 tests on the algorithm. Also i time out on a BFS test which I don't understand either. It doesn't really seem that complicated.

This is dumb. There seems to be no way to know what is going wrong. I am highly suspicious that there is actually a problem with the test server's code.


This is how I do my BFS of my graph, for example

My graph has


public V data;
private Map<V, Connections> vertices = new HashMap<V, Connections>();

// Inner class edge defines what a vertex is
class Connections {

// Each vertex has a map listing it's edges
private Map<V, Integer> edges = new HashMap<V, Integer>();

public Connections() {

}

}


And my BFS does this (with some added method calls that they require that meet their exact specifications):


public void bfs(V start, V end) {

Set<V> visitedSet = new HashSet<V>();
LinkedList<V> queue = new LinkedList<V>();

queue.add(start);

while (!queue.isEmpty()) {
V current;
current = queue.remove();

visitedSet.add(current);


for (V vertex : vertices.get(current).edges.keySet()) {

if (!visitedSet.contains(vertex)) {
queue.add(vertex);
}
}

if (current.equals(end)) { do the ending stuff here and return }

}


I mean this is pretty straightforward right? I don't even understand what could be wrong with it.

And then DFS is even more straightforward and I fail that too.



Why are you using LinkedList instead of Queue?
Why do you declare the variable "V current" on a separate line?
What is "V data" supposed to do?

Whatever the class V might not have implemented hashcode. Does V implement equals properly either?

Does your code work with your own input? Do you have sample input provided to you? Are you sure you're following the test specifications correctly?


You currently only check visitedSet for duplicates, but to ensure you don't visit more than once you'd also have to check queue. Imagine the following graph:

start, a
start, b
a, c
b, c
c, end.

After visiting b (or a, whichever comes last), your data structures will have:

Visited = {start, a, b}
Queue = [c, c]

You will then visit c twice, and after that will have:

Visited = {start, a, b, c}
Queue = [end, end]

That might be your speed problem.

A way around it is to have a flag "visited" in your vertex objects. That way you don't have to check whether each node is already in your queue (which is O(n)). You simply add them all, but only execute the code if you didn't visit yet.


public void bfs(V start, V end) {

LinkedList<V> queue = new LinkedList<V>();

queue.add(start);

while (!queue.isEmpty()) {
V current;
current = queue.remove();

if(! current.visited()) {

current.visit();

for (V vertex : vertices.get(current).edges.keySet()) {
queue.add(vertex);
}
}

if (current.equals(end)) { do the ending stuff here and return }
}


I also don't see you storing your shortest path here: it will find the end, but won't know how it got there, or how many steps it takes. If that doesn't matter then all is well.
meatpudding
Profile Joined March 2011
Australia520 Posts
November 22 2016 04:22 GMT
#15996
On November 22 2016 10:40 travis wrote:
Pretty annoyed right now. My project, which I have spent a lot of time on, works perfectly visually. I have to use 3 different algorithms to solve a GUI maze. I can clearly see that my algorithms work as they should to solve the maze.

The code looks good to me. I checked and rechecked and re-rechecked.

And yet when I submit my project to the school's submit server I fail all 3 tests on the algorithm. Also i time out on a BFS test which I don't understand either. It doesn't really seem that complicated.

This is dumb. There seems to be no way to know what is going wrong. I am highly suspicious that there is actually a problem with the test server's code.


These kinds of tests usually throw funky edge-cases at your code to see if it breaks. You can't rule out a problem with the test server, but the tests themselves could be running into code branches that you haven't tested yet.
Be excellent to each other.
Hanh
Profile Joined June 2016
146 Posts
November 22 2016 08:48 GMT
#15997
On November 22 2016 12:44 Acrofales wrote:
You currently only check visitedSet for duplicates, but to ensure you don't visit more than once you'd also have to check queue.


It seems to me that the check is just delayed by one step. If so, that shouldn't cause a significant slowdown.
Neshapotamus
Profile Blog Joined May 2006
United States163 Posts
Last Edited: 2016-11-22 08:52:02
November 22 2016 08:50 GMT
#15998
Don't know why your using a generic V. Use integer instead.

Visited should be a boolean array. The size of visited should be equal to the number of verticies. Make this a class level scope.

You don't have to explicitly terminate your algorithms. It will reach all the connected components by itself and complete.
DFS should be implemented using recursion. Otherwise, you will have to create your own stack. This is where having visited at a class scope will help.

You bfs has a fundamental problem.
*Write the for loop first
*Inside the for loop, check to see if you have visited the adjacent nodes. Then mark the adjacent nodes as being visited.


Some other tips:
Don't use a hashmap, use an array. (You can create an array of list<int> per index. The index of the array maps to vertex.)
Create a variable called PathTo. PathTo should be a integer array; The size of PathTo array should be equal to the number of verticies. You will need this to build a complete path from source to destination.

Here is a method you should implement if you take my suggestion above:
public boolean hasPathTo(int v); //run in constant time
public Iterable<Integer> pathTo(int v); //use the PathTo variable and create a path

Acrofales
Profile Joined August 2010
Spain18387 Posts
November 22 2016 09:46 GMT
#15999
On November 22 2016 17:48 Hanh wrote:
Show nested quote +
On November 22 2016 12:44 Acrofales wrote:
You currently only check visitedSet for duplicates, but to ensure you don't visit more than once you'd also have to check queue.


It seems to me that the check is just delayed by one step. If so, that shouldn't cause a significant slowdown.

No, the check is in fundamentally the wrong place for an efficient bfs. Think of how this will work for a chain of diamonds.

On November 22 2016 17:50 Neshapotamus wrote:
Don't know why your using a generic V. Use integer instead.

Why?


Visited should be a boolean array. The size of visited should be equal to the number of verticies. Make this a class level scope.

Why?


You don't have to explicitly terminate your algorithms. It will reach all the connected components by itself and complete.

Still have to check whether you reached end or not. No need to keep searching the graph if you found your destination. Moreover, you want it to terminate differently, e.g. return true if it found end and false if it didn't. That is missing from the algorithm, I agree.


DFS should be implemented using recursion. Otherwise, you will have to create your own stack. This is where having visited at a class scope will help.

You bfs has a fundamental problem.
*Write the for loop first
*Inside the for loop, check to see if you have visited the adjacent nodes. Then mark the adjacent nodes as being visited.


Some other tips:
Don't use a hashmap, use an array. (You can create an array of list<int> per index. The index of the array maps to vertex.)

You're making some assumptions here about the form of the input he's getting. But yes, numbering the nodes and using an array would also be a more efficient way of checking whether a node was visited than using a hashset.


Create a variable called PathTo. PathTo should be a integer array; The size of PathTo array should be equal to the number of verticies. You will need this to build a complete path from source to destination.

Here is a method you should implement if you take my suggestion above:
public boolean hasPathTo(int v); //run in constant time
public Iterable<Integer> pathTo(int v); //use the PathTo variable and create a path


You're assuming he has to return the path. Might all be unnecessary.

Finally, some tips regarding automated tests:
Test your algorithm with null inputs.
Test your algorithm with nodes that aren't null, but aren't in your graph either.
Test on disconnected graphs.
Think of any other input that could break your algorithm and make sure it doesn't break.
Manit0u
Profile Blog Joined August 2004
Poland17799 Posts
November 22 2016 10:23 GMT
#16000

width = Math.ceil(width);
width = Math.round(width);


Amazing...
Time is precious. Waste it wisely.
Prev 1 798 799 800 801 802 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 3h 51m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 148
StarCraft: Brood War
GuemChi 4092
BeSt 831
Leta 113
Bale 79
ZergMaN 48
Mind 42
Noble 20
Icarus 15
Dota 2
NeuroSwarm186
Counter-Strike
summit1g7283
Sick137
Other Games
WinterStarcraft537
C9.Mang0353
RuFF_SC268
Trikslyr17
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 16 non-featured ]
StarCraft 2
• Berry_CruncH327
• practicex 21
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 3
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota2102
League of Legends
• Rush1741
Other Games
• Scarra1070
Upcoming Events
Escore
3h 51m
CrankTV Team League
4h 51m
WardiTV Summer Champion…
5h 51m
Big Brain Bouts
9h 51m
Soulspirit vs goblin
TriGGeR vs Bunny
OSC
15h 51m
Korean StarCraft League
20h 51m
Afreeca Starleague
21h 51m
RSL Revival
1d 2h
Serral vs SHIN
herO vs Solar
Online Event
1d 8h
Replay Cast
1d 17h
[ Show More ]
RSL Revival
2 days
Clem vs ByuN
Rogue vs Lambo
OSC
2 days
WardiTV Weekly
3 days
Sparkling Tuna Cup
4 days
INu's Battles
4 days
Cure vs herO
ByuN vs Rogue
PiGosaur Cup
4 days
The PondCast
5 days
Kung Fu Cup
5 days
Patches Events
5 days
Replay Cast
6 days
CrankTV Team League
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-07-22
HSC XXIX
Eternal Conflict S2 E3

Ongoing

CSL 2026 Summer (S21)
KCM Race Survival 2026 Season 3
Escore Tournament S3: W4
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026

Upcoming

ASL S22 SEASON OPEN Day 2
Escore Tournament S3: W5
ASL Season 22: Qualifier #1
ASL Season 22: Qualifier #2
CSLAN 4
ASL Season 22
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
ESL Pro League Season 24
Stake Ranked Episode 4
Logitech G Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.