mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 14:18:20 +08:00 
			
		
		
		
	Fix greedy_algorithm.md
Add a new Q&A
This commit is contained in:
		@ -99,7 +99,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
- **正例 $coins = [1, 5, 10, 20, 50, 100]$**:在该硬币组合下,给定任意 $amt$ ,贪心算法都可以找出最优解。
 | 
					- **正例 $coins = [1, 5, 10, 20, 50, 100]$**:在该硬币组合下,给定任意 $amt$ ,贪心算法都可以找出最优解。
 | 
				
			||||||
- **反例 $coins = [1, 20, 50]$**:假设 $amt = 60$ ,贪心算法只能找到 $50 + 1 \times 10$ 的兑换组合,共计 $11$ 枚硬币,但动态规划可以找到最优解 $20 + 20 + 20$ ,仅需 $3$ 枚硬币。
 | 
					- **反例 $coins = [1, 20, 50]$**:假设 $amt = 60$ ,贪心算法只能找到 $50 + 1 \times 10$ 的兑换组合,共计 $11$ 枚硬币,但动态规划可以找到最优解 $20 + 20 + 20$ ,仅需 $3$ 枚硬币。
 | 
				
			||||||
- **反例 $coins = [1, 49, 50]$**:假设 $amt = 98$ ,贪心算法只能找到 $50 + 1 \times 48$ 的兑换组合,共计 $48$ 枚硬币,但动态规划可以找到最优解 $49 + 49$ ,仅需 $2$ 枚硬币。
 | 
					- **反例 $coins = [1, 49, 50]$**:假设 $amt = 98$ ,贪心算法只能找到 $50 + 1 \times 48$ 的兑换组合,共计 $49$ 枚硬币,但动态规划可以找到最优解 $49 + 49$ ,仅需 $2$ 枚硬币。
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -36,4 +36,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
!!! question "请问如何从一组输入数据构建一个二叉搜索树?根节点的选择是不是很重要?"
 | 
					!!! question "请问如何从一组输入数据构建一个二叉搜索树?根节点的选择是不是很重要?"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    是的,构建树的方法是 `build_tree()` ,已在源代码中给出。至于根节点的选择,我们通常会将输入数据排序,然后用中点元素作为根节点,再递归地构建左右子树。这样做可以最大程度保证树的平衡性。
 | 
					    是的,构建树的方法已在二叉搜索树代码中的 `build_tree()` 方法中给出。至于根节点的选择,我们通常会将输入数据排序,然后用中点元素作为根节点,再递归地构建左右子树。这样做可以最大程度保证树的平衡性。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!!! question "在 Java 中,字符串对比是否一定要用 `equals()` 方法?"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    在 Java 中,对于基本数据类型,`==` 用于对比两个变量的值是否相等。对于引用类型,两种符号的工作原理不同:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - `==` :用来比较两个变量是否指向同一个对象,即它们在内存中的位置是否相同。
 | 
				
			||||||
 | 
					    - `equals()`:用来对比两个对象的值是否相等。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    因此如果要对比值,我们通常会用 `equals()` 。然而,通过 `String a = "hi"; String b = "hi";` 初始化的字符串都存储在字符串常量池中,它们指向同一个对象,因此也可以用 `a == b` 来比较两个字符串的内容。
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user