This is accurate. Maybe it's silly but it really does change the way I feel about the problems. Doing leetcode makes me think "Here I go again, grinding for corporate approval, getting ready to see everyone else's answers that are 10x better than mine and let the imposter syndrome set in" while AoC is more like "I'm so excited to see this year's problems and compare my answers to everyone on Reddit. What day will I make it to this year? What kinds of twists and turns do they have in store?" So for me it feels like AoC is more a community of excited hobbyists learning programming and trying new tech while leetcode is full of corporate bullshit trying to make me feel bad about myself, and part of that is definitely from the UI.
Personally I prefer the leetcode UI, but I find that AoC challenges are usually grokkable problems where leetcode seems to require you to have a ton of very bespoke data structure and algorithmic knowledge that simply doesn't have a purpose for me besides doing more leetcode
Yes, I think this is the major difference. LC are specifically geared to test DS&A knowledge: trees, graphs, DP, BFS, DFS, greedy, etc. AoC are more about iterating fast to solve it however.
I would absolutely not recommend leetcode for learning Rust. Leetcode has an unreasonable obsession with linked lists and dancing pointers, which are always going to be a bit awkward in Rust. The also used unnecessarily complicated types for some of the Rust code which makes it even worse. When I hit those questions I switch it to C++.
This isn't a knock against Rust. That type of code is more painful in Rust but it's also extremely rare in the real world.