
g1701_1800.s1773_count_items_matching_a_rule.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g1701_1800.s1773_count_items_matching_a_rule;
// #Easy #Array #String #2022_05_02_Time_3_ms_(98.33%)_Space_46.9_MB_(92.77%)
import java.util.List;
/**
* 1773 - Count Items Matching a Rule\.
*
* Easy
*
* You are given an array `items`, where each items[i] = [typei, colori, namei]
describes the type, color, and name of the ith
item. You are also given a rule represented by two strings, `ruleKey` and `ruleValue`.
*
* The ith
item is said to match the rule if **one** of the following is true:
*
* * `ruleKey == "type"` and ruleValue == typei
.
* * `ruleKey == "color"` and ruleValue == colori
.
* * `ruleKey == "name"` and ruleValue == namei
.
*
* Return _the number of items that match the given rule_.
*
* **Example 1:**
*
* **Input:** items = \[\["phone","blue","pixel"],["computer","silver","lenovo"],["phone","gold","iphone"]], ruleKey = "color", ruleValue = "silver"
*
* **Output:** 1
*
* **Explanation:** There is only one item matching the given rule, which is ["computer","silver","lenovo"].
*
* **Example 2:**
*
* **Input:** items = \[\["phone","blue","pixel"],["computer","silver","phone"],["phone","gold","iphone"]], ruleKey = "type", ruleValue = "phone"
*
* **Output:** 2
*
* **Explanation:** There are only two items matching the given rule, which are ["phone","blue","pixel"] and ["phone","gold","iphone"]. Note that the item ["computer","silver","phone"] does not match.
*
* **Constraints:**
*
* * 1 <= items.length <= 104
* * 1 <= typei.length, colori.length, namei.length, ruleValue.length <= 10
* * `ruleKey` is equal to either `"type"`, `"color"`, or `"name"`.
* * All strings consist only of lowercase letters.
**/
public class Solution {
public int countMatches(List> items, String ruleKey, String ruleValue) {
int ans = 0;
int checkRuleNum = 0;
if (ruleKey.equals("color")) {
checkRuleNum = 1;
} else if (ruleKey.equals("name")) {
checkRuleNum = 2;
}
for (List item : items) {
if (item.get(checkRuleNum).equals(ruleValue)) {
ans++;
}
}
return ans;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy