数据算法结构哪部分最难
If you have been solving algorithms questions for a while, you will notice specific patterns and topics are just more challenging than usual. Before we dive deeper into these topics, I understand everyone has their own most challenging algorithm topics out there. However, I am here stating my own opinion on what I have seen so far that I feel are the most challenging algorithms topics. I know I am not alone, and I believe my intuition aligns with many folks out there.
如果您已经解决算法问题已有一段时间了,您会发现特定的模式和主题比平时更具挑战性。 在我们深入探讨这些主题之前,我了解每个人都有他们自己最具挑战性的算法主题。 但是,我在这里对到目前为止所看到的内容发表自己的看法,我认为这是最具挑战性的算法主题。 我知道我并不孤单,而且我相信我的直觉与许多人保持一致。
动态编程 (Dynamic Programming)
Dynamic Programming (DP) is one of the most well-known topics that everyone struggles with. It feels like there is no shortcut way of making it simple. It requires a lot of practice and repetition of solving those types of questions to get good at it. Dynamic programming is a method for solving a complex problem by breaking it down into a collection of simpler subproblems, solving each subproblem just once, and storing their solutions. In other words, it is a way of approach and pattern solving problems, breaking it down into smaller pieces, and reducing duplication of those smaller pieces by storing them somehow. Dynamic Programming is a trendy challenging topic in leetcode, where everyone on the discussion page is talking about it.
动态编程(DP)是每个人都在努力解决的最著名的主题之一。 感觉没有简化它的捷径。 要熟练掌握它,需要进行大量练习和重复解决这些类型的问题。 动态编程是一种解决复杂问题的方法,可以将其分解为更简单的子问题的集合,每个子问题仅解决一次,然后存储其解决方案。 换句话说,这是一种解决问题和模式的方法,可以将问题分解为较小的部分,并通过某种方式存储它们来减少这些较小部分的重复。 动态编程是