LeetCode Weekly Contest 152 4問目 - Number of Valid Words for Each Puzzle [1178]

Source

LeetCode Weekly Contest 152
問題文

問題概要

省略

解法

省略

cLayversion 20190830-1)のコード

C++に変換後のコードはこちら

#define main dummy_main
{}
#undef main

class Solution {
public:
  vector<int> findNumOfValidWords(vector<string>& words, vector<string>& puzzles) {
    int i, j, k, c, q, ans;
    map<int,int> mp;
    vector<int> res;

    mp.clear();
    rep(k,words.size()){
      j = 0;
      rep(i,words[k].size()){
        c = words[k][i] - 'a';
        j |= (1<<c);
      }
      mp[j]++;
    }

    rep(q,puzzles.size()){
      string s = puzzles[q];
      ans = 0;
      
      rep(i,7) s[i] -= 'a';
      
      rep(i,1<<6){
        k = (1<<s[0]);
        rep(j,6) if(i&1<<j) k |= (1<<s[j+1]);
        ans += mp[k];
      }

      res.push_back(ans);
    }

    return res;
  }
};

Current time: 2024年04月27日13時31分12秒
Last modified: 2019年09月01日16時20分54秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: