G面经prepare: Friends Recommendation】的更多相关文章

想想如果你用linkedin或者facebook, 给你一个人和他的朋友关系网,你会怎么给一个人推荐朋友 一个例子就是A-B, A-C, B - D, B - E, C - D,这个时候问我应该推荐谁给A,我说D,因为他是BC的共同好友,而E只是B的好友,到这我才明白干啥,就是给一个图和里面的一个节点A,用bfs从A出发,找出第二层中indegree度数最大节点 用HashMap<Character, HashSet<Character>>来建图 用HashMap<Chara…
求两个sorted数组的intersection e.g. [1,2,3,4,5],[2,4,6] 结果是[2,4] difference 类似merge, 分小于等于大于三种情况,然后时间O(m+n), 空间O(1) package ShortestSubsequenceIncluding; import java.util.*; public class Solution2 { public ArrayList<Integer> setInters(int[] arr1, int[] ar…
字符串重新排列,让里面不能有相同字母在一起.比如aaabbb非法的,要让它变成ababab.给一种即可 Greedy: 跟FB面经Prepare task Schedule II很像,记录每个char出现次数,然后用最大堆,把剩下char里面出现次数多的优先Poll出来组建新的string 如果poll出来的char跟上一个相同,则用一个queue暂时存一下 我觉得时间复杂度:O(N) + O(KlogK) + O(NlogK) = O(NlogK) ,where K is the number…
有个getFriend() API, 让你推荐你的朋友的朋友做你的朋友,当然这个新朋友不能是你原来的老朋友 package fb; import java.util.*; public class ReferFriends { public List<String> recommendation(String name) { List<String> res = new ArrayList<String>(); if (name==null || name.length…
求string str1中含有string str2 order的 subsequence 的最小长度 DP做法:dp[i][j]定义为pattern对应到i位置,string对应到j位置时,shortest substring的长度,Int_Max表示不存在 package ShortestSubsequenceIncluding; public class Solution { public String findShortest(String a, String b){ if(a==nul…
设定一个pattern 把 'internationalization' 变成 'i18n', 比如word是house,pattern可以是h3e, 3se, 5, 1o1s1等, 给pattern和word,判断是否match, package DataStreamAverage; public class Solution3 { public boolean check(String s1, String s2) { return helper(s1, 0, s2, 0); } publi…
给一个datastream和一个fixed window size, 让我design一个class可以完成add number还有find average in the window. 就是不能用vector得用array. 当然用queue是最好的 package DataStreamAverage; import java.util.*; public class Solution { int count; int sum; Queue<Integer> q; public Soluti…
1 2 3 4 5 6 7 8 9 只有中间没有其他键的两个键才能相连,比如1可以连 2 4 5 6 8 但不能连 3 7 9 但是如果中间键被使用了,那就可以连,比如5已经被使用了,那1就可以连9 每个键只能用一次,给定一个长度L,求问有多少unique path with length L Backtracking: 我的code不光可以知道数目,还可以打印所有Pattern package AndroidUnlockPattern; import java.util.*; public c…
第二题 算法 给你一个arr 返回 T 或者 F arr的每个数代表从这个点开始跳几部,返回T的情况:从这个arr中任意一个数开始跳,可以在每个元素都跳到且只跳到一次的情况下返回到开始跳的元素 比如[1,1,1,1,1,1] => T [0,1,1,1,1,1]=> F [7, 5, 2, 3] => F [2,2,3,1] => T. From 1poi scan array once, get the index that can be reached by each arra…
Given a sorting order string, sort the input string based on the given sorting order string. Ex sorting order string -> dfbcae Input string -> abcdeeabc output -> dbbccaaee 法一:Comparable sample Input: String order = "dfbcae"; String str…
求问下各位大神,怎么判断一个按照Preorder traversal serialized的binary tree的序列是否正确呢?不能deserialize成树比如 A) 9 3 4 # # 1 # # 2 # 6 # #是对的,因为表示 9 / \ 3 2 / \ \ 4 1 6 B ) 9 3 4 # # 1 # #就是错的,因为无法反构造回一棵树 我觉得可以在字符串里找"n##"这种结构(对应tree里两个children都是Null的叶节点),找到之后就把"n##&…
给定一个字符串,找出最多有多少个chunked palindrome, 正常的palindrome是abccba, chunked palindrome的定义是:比如volvo, 可以把vo划分在一起,(vo) (l) (vo),那么它是个palindrome.求实现返回最大的chunk 数量. 比如aaaaaa可以是(aaa)(aaa), 但是最大chunk数量应该是(a)(a)(a)(a)(a)(a)为6 这就是一个greedy的问题,从string的两边开始,用i和j记录当前scan到的位…
给你一部分钱和一些不同价钱的商品,如何在最多买K件商品的情况下尽可能多的花掉手里的钱. 举例:口袋里的钱数: 10; K=2 产品价格: [3, 6, 8, 7, 9] 输出 3, 7 Backtracking: package BuyGoods; import java.util.*; public class Solution { static int minRemain = 0; public ArrayList<Integer> optimize(int money, int[] pr…
Define “X-Straight” as X cards with consecutive numbers (X >= 3). Determine if the deck can be fully divided into sets of “X-Straight”. Example: 1, 2, 3, 4, 4, 5, 6 -> True Backtracking: package Straight; import java.util.*; public class Solution2 {…
给你A{1,2,3,4,4,5}, B{2,4},求A-B={1,3,4,5},很简单. visit 1 只用一个HashMap package TwoSets; import java.util.*; public class Solution { public ArrayList<Integer> findDiff(int[] arr1, int[] arr2) { ArrayList<Integer> res = new ArrayList<Integer>();…
Define “Straight” as 5 cards with consecutive numbers. Determine if the deck can be fully divided into sets of “Straight”. Example: 1, 2, 3, 4, 4, 5, 5, 6, 7, 8 -> TrueYou may assume the cards are sorted 这个是用一个hashtable,key是数字,value是出现次数 然后遍历原数组,每一个数…
给一个单词一个字典,每次删除单词里任一个字母直到剩下一个字母,形成一个序列,比如office->offce->ofce->ofc->oc->c.问是否字典里存在一个这种序列 package checkDictExistSequence; import java.util.*; public class Solution { HashSet<String> dict = new HashSet<String>(); public String check…
give a string, all 1 or 0, we can flip a 0 to 1, find the longest 1 substring after the flipping 这是一个简单版本of LC 424 Longest Repeating Character Replacement 又是Window, 又是Two Pointers Window还是采用每次都try to update left使得window valid, 每次都检查最大window package G…
For instance, give row = 4, col = 5, print matrix in zigzag order like: [1, 8, 9, 16, 17] [2, 7, 10, 15, 18] [3, 6, 11, 14, 19] [4, 5, 12, 13, 20] package GooglePhone; import java.util.Arrays; public class PrintMatrix { static void print(int rows, in…
Project Management ProcessDescription .......................................................................................................................................................................................1STAGE/STEP/TASK SUMMARY LIST…
不容易系列之(4)——考新郎 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17001    Accepted Submission(s): 6348 Problem Description国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这…
神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17381    Accepted Submission(s): 7409 Problem DescriptionHDU 2006'10 ACM contest的颁奖晚会隆重开始了!为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动,这个活动的具体要求是这样的:…
[BZOJ4555]求和(多种解法混合版本) 题面 BZOJ 给定\(n\),求 \[f(n)=\sum_{i=0}^{n}\sum_{j=0}^{i}S(i,j)\times 2^j \times (j!)\] \(n<=100000\),结果对\(998244353\)取模. 其中\(S(i,j)\)是第二类斯特林数,表示将\(i\)个有区别的球放入\(j\)个相同的盒子中,每个盒子非空的方案数. \(S(n,m)=S(n-1,m-1)+S(n-1,m)*m\) 边界条件:\(S(i,0)=…
2015年~2017年SIGIR,SIGKDD,ICML三大会议的Recsys论文: [转载请注明出处:https://www.cnblogs.com/shenxiaolin/p/8321722.html] SIGIR-2015 [Title]WEMAREC: Accurate and Scalable Recommendation through Weighted and Ensemble Matrix Approximation [Abstract]Matrix approximation…
1.SDP (1)Http Request GET /getSdpForUrl?HttpUrl=nphMpeg4/g726-640x480 HTTP/1.0/r/n Host: 58.63.71.90:8011/r/n Accept: */*/r/n Accept-Language: */r/n Accept-Encoding: */r/n Authorization: Basic NjU0MzIxOjEyMzQ1NgA=/r/n User-Agent: Streaming Sdk 1.0/r/…
题意 给定一个长为 \(n\) 的序列 \(\{a_i\}\) 对于 \(k \in [1, n]\) 求 \[ f_k = \sum_{i = 1}^{n} a_i^k \pmod {998244353} \] \(n \le 2 \times 10^5\) 题解 不会牛顿恒等式TAT,参考了这位大佬的博客. 我们令 \(F(x)\) 为 \(f_k\) 的生成函数,我们有 \[ \begin{aligned} F(x) &= \sum_{k} (\sum_{i = 1}^{n} a_i^k)…
Description 给下N,M,K.求     Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. Output #include<bits/stdc++.h> #define ll long long #define maxn 5000003 #define N 5000001 using namespace std; const ll mod=1000000007; name…
这一节主要介绍segues,static table view cells 和 Add Player screen 以及 a game picker screen. Introducing Segues 开启 Main.storyboard拖拉一个Bar Button Item到Players窗口导航栏的右侧.在Attributes inspector中改变Identifier为Add,就会出现一个+号button.…
​<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position: absolute; width: 0; height: 0"> <symbol xmlns="http://www.w3.org/2000/svg" class="icon" viewBox…
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web 应用中利用集体智慧构建更加有趣的应用或者得到更好的用户体验.集体智慧是指在大量的人群的行为和数据中收集答案,帮助你对整个人群得到统计意义上的结论,这些结论是我们在单个个体上无法得到的,它往往是某种趋势或者人群中共性的部分. Wikipedia 和 Google 是两个典型的利用集体智慧的 Web…