diff --git a/README.md b/README.md index d8f1642b3..97b384def 100644 --- a/README.md +++ b/README.md @@ -1719,7 +1719,7 @@ implementation 'com.github.javadev:leetcode-in-kotlin:1.11' | 1143 |[Longest Common Subsequence](src/main/kotlin/g1101_1200/s1143_longest_common_subsequence/Solution.kt)| Medium | Top_100_Liked_Questions, String, Dynamic_Programming, Algorithm_II_Day_17_Dynamic_Programming, Dynamic_Programming_I_Day_19, Udemy_Dynamic_Programming | 307 | 38.36 | 0994 |[Rotting Oranges](src/main/kotlin/g0901_1000/s0994_rotting_oranges/Solution.kt)| Medium | Array, Breadth_First_Search, Matrix, Algorithm_I_Day_9_Breadth_First_Search_Depth_First_Search, Level_2_Day_10_Graph/BFS/DFS | 308 | 57.93 | 0864 |[Shortest Path to Get All Keys](src/main/kotlin/g0801_0900/s0864_shortest_path_to_get_all_keys/Solution.kt)| Hard | Breadth_First_Search, Bit_Manipulation | 176 | 100.00 -| 0857 |[Score of Parentheses](src/main/kotlin/g0801_0900/s0857_minimum_cost_to_hire_k_workers/Solution.kt)| Hard | Array, Sorting, Greedy, Heap_Priority_Queue | 302 | 100.00 +| 0857 |[Minimum Cost to Hire K Workers](src/main/kotlin/g0801_0900/s0857_minimum_cost_to_hire_k_workers/Solution.kt)| Hard | Array, Sorting, Greedy, Heap_Priority_Queue | 302 | 100.00 | 0856 |[Score of Parentheses](src/main/kotlin/g0801_0900/s0856_score_of_parentheses/Solution.kt)| Medium | String, Stack | 129 | 84.62 | 0855 |[Exam Room](src/main/kotlin/g0801_0900/s0855_exam_room/ExamRoom.kt)| Medium | Design, Ordered_Set | 644 | 83.33 | 0854 |[K-Similar Strings](src/main/kotlin/g0801_0900/s0854_k_similar_strings/Solution.kt)| Hard | String, Breadth_First_Search | 136 | 100.00 diff --git a/src/main/kotlin/g0801_0900/s0857_minimum_cost_to_hire_k_workers/readme.md b/src/main/kotlin/g0801_0900/s0857_minimum_cost_to_hire_k_workers/readme.md index 4e765ba4b..a93dfaa9d 100644 --- a/src/main/kotlin/g0801_0900/s0857_minimum_cost_to_hire_k_workers/readme.md +++ b/src/main/kotlin/g0801_0900/s0857_minimum_cost_to_hire_k_workers/readme.md @@ -1,35 +1,34 @@ -856\. Score of Parentheses +857\. Minimum Cost to Hire K Workers -Medium +Hard -Given a balanced parentheses string `s`, return _the **score** of the string_. +There are `n` workers. You are given two integer arrays `quality` and `wage` where `quality[i]` is the quality of the ith worker and `wage[i]` is the minimum wage expectation for the ith worker. -The **score** of a balanced parentheses string is based on the following rule: +We want to hire exactly `k` workers to form a paid group. To hire a group of `k` workers, we must pay them according to the following rules: -* `"()"` has score `1`. -* `AB` has score `A + B`, where `A` and `B` are balanced parentheses strings. -* `(A)` has score `2 * A`, where `A` is a balanced parentheses string. +1. Every worker in the paid group should be paid in the ratio of their quality compared to other workers in the paid group. +2. Every worker in the paid group must be paid at least their minimum wage expectation. -**Example 1:** +Given the integer `k`, return _the least amount of money needed to form a paid group satisfying the above conditions_. Answers within 10-5 of the actual answer will be accepted. -**Input:** s = "()" +**Example 1:** -**Output:** 1 +**Input:** quality = [10,20,5], wage = [70,50,30], k = 2 -**Example 2:** +**Output:** 105.00000 -**Input:** s = "(())" +**Explanation:** We pay 70 to 0th worker and 35 to 2nd worker. -**Output:** 2 +**Example 2:** -**Example 3:** +**Input:** quality = [3,1,10,10,1], wage = [4,8,2,2,7], k = 3 -**Input:** s = "()()" +**Output:** 30.66667 -**Output:** 2 +**Explanation:** We pay 4 to 0th worker, 13.33333 to 2nd and 3rd workers separately. **Constraints:** -* `2 <= s.length <= 50` -* `s` consists of only `'('` and `')'`. -* `s` is a balanced parentheses string. \ No newline at end of file +* `n == quality.length == wage.length` +* 1 <= k <= n <= 104 +* 1 <= quality[i], wage[i] <= 104 \ No newline at end of file