1. longest chain: 类似word ladder,对于一个单词删掉任何一个字母,如果新单词出现在给的词典里 那么就形成一个 chain: old word -> new word -> newer word, 求最长长度(return int) 比如给vector w = {a,ba,bca,bda,bdca} 最长是4: bdca->bda->ba->a; 思路和word ladder一样,我们可以先sort这个set, 然后从最长的开始。(或者我们建立一个hashMap, 单词长度作为key,单词存进一个list作为value, 这样也可以从最长的开始),然后遍历删除每个字母检查是否在字典中,如果在的话可以把max++, 然后把单词从字典中删除(如果从长度最大的单词一次往下遍历,删除是合理的,因为这个单词肯定已经在最长的list里算过了), 最后return max即可。 2 N queen 变种 题目要求是求出 对于每个Queen, 最大的威胁次数,威胁指只要一个queen所能移动的范围内有别的queen就算威胁 P.S.同一方向上有2个queen威胁你 只算最近的那个。 由于同一行 同一列不会出现2个queen。(由于输入限制)所以只要考虑对角线 和逆对角线。 举个例子: 棋盘是: Onsite题: 1.Design a service that returns a unique integer for each request. 可以用timestamp + machineid + thread_id + cnt 这道题是leetcode题,注意边界条件,先讨论General情况,然后考虑边界条件。注意start, end和k的关系,start和end应该是坐标,而k是从start开始算的数。 brain teaser Share this: Enter your comment here... Fill in your details below or click an icon to log in: Email (required) (Address never made public) Name (required) You are commenting using your WordPress.com account.
Read full article from Zenifits 面经 | Hello World
No comments:
Post a Comment