由买买提看人间百态

topics

全部话题 - 话题: backtrack
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
i**********n
发帖数: 196
1
还是可以的,这几天练的backtracking题刚好熟练。感觉没有准备的话还是很难写完..
.
k*******n
发帖数: 16
2
尝试推了一下,不知道对不对
T(n) = n * T(n - 1) + n
= n * (n - 1) * T(n - 2) + n * (n - 1) + n
= n * (n - 1) * ... * (n - k + 1) * T(n - k)
+n * (n - 1) * ... * (n - k + 1)
+ ... + n * (n - 1) + n
When k =n, T(n - k) = T(0) = 1
T(n) = (n!) + (n!) + (n!) / 2 + ... + n = O(n!) = O(n^n)
t*****3
发帖数: 112
3
permutation的复杂度应该是O(n!),算法过程恰好遍历了所有的排列可能。更general
的感觉复杂度就是试探了的可能解的规模。
s******t
发帖数: 229
4
用数学公式? 高中排列组合思想
s****i
发帖数: 65
5
perm(num,k+1,n,res);
后面3句,
tmp = num[k];
num[k]=num[i];
num[i]=tmp;
原先i,k上的值换了,现在又换回来了,下一个for循环跟下一个数换
C*******n
发帖数: 193
6
class Solution {
public:
bool valid(string &str, int st, int ed){
while (st if (str[ed]!=str[st]){
return false;
}else{
st++;
ed--;
}
}
return true;
}

void find(string s, int st, vector &r, vector > &
res){
if (st>=s.size()){
res.push_back(r);
}else{
for (int i=st;i if (val... 阅读全帖
C*******n
发帖数: 193
a********e
发帖数: 53
8
还有valid的时间复杂度呢?这题我看到有的博客里说复杂度是O(2^n), 因为有 n &#
8722; 1 个地方可以砍断,每个地方可断可不断。
M******9
发帖数: 10
9
来自主题: JobHunting版 - 我的面试总结(FLGT+UPASD)和伪面经
基本都面完了,前一段刚注册了一个帐号,上来发文,大概说下自己的经历,抛个砖头
,希望对大家有用,也祝愿大家都能找到满意的工作。有NDA就不说onsite具体题目了
,感觉也没什么必要说,会大概说说面到的知识点,可能比较乱,大家将就着看。
基本情况:fresh cs phd, 找的都是SE的工作,为啥不找教职或者research lab这里就
不讨论了. FLGT(2 offers, 1家withdraw, 1家简历被刷), startups UPASD(2 offers,
2家电面挂,1家没申请)
pros:背景还不错,都是top school, GPA高。。(fresh貌似公司还是会稍微看看这个)
cons: 没有intern经验是硬伤,PhD期间,上完课后代码写得不多
package还没开始谈,initial offer都差不多200k+的样子,大公司hr明确表示等我都
面完了可以谈, startup都是late stage, 股票都是十万分之5-10, 感觉不好谈。LD目
前在一家大公司,说其实先去大公司几年也不错,比较稳定,貌似股票refresh也可能
不错,work/life... 阅读全帖
M******9
发帖数: 10
10
来自主题: JobHunting版 - 我的面试总结(FLGT+UPASD)和伪面经
基本都面完了,前一段刚注册了一个帐号,上来发文,大概说下自己的经历,抛个砖头
,希望对大家有用,也祝愿大家都能找到满意的工作。有NDA就不说onsite具体题目了
,感觉也没什么必要说,会大概说说面到的知识点,可能比较乱,大家将就着看。
基本情况:fresh cs phd, 找的都是SE的工作,为啥不找教职或者research lab这里就
不讨论了. FLGT(2 offers, 1家withdraw, 1家简历被刷), startups UPASD(2 offers,
2家电面挂,1家没申请)
pros:背景还不错,都是top school, GPA高。。(fresh貌似公司还是会稍微看看这个)
cons: 没有intern经验是硬伤,PhD期间,上完课后代码写得不多
package还没开始谈,initial offer都差不多200k+的样子,大公司hr明确表示等我都
面完了可以谈, startup感觉不好谈。LD目前在一家大公司,说其实先去大公司几年也
不错,比较稳定,貌似股票refresh也可能不错,work/life balance比较好。我自己是
想去startup, 但... 阅读全帖
r****7
发帖数: 2282
11
来自主题: JobHunting版 - 一道G家onsite题
这不是典型的backtracking么
S********0
发帖数: 5749
12

据说是google的,我觉得面试能用backtracking做出来就可以了。 dp好像效率也没高
太多
M*********n
发帖数: 4839
13
来自主题: JobHunting版 - 从福特密码锁想到一道题
这个是个backtracking吧?
原理上每次改变一个字母,可以回到原点,并包括所有的组合。
w**********o
发帖数: 140
14
来自主题: JobHunting版 - 请叫大家一道题
給個這個思路: 用DFS找sub-graph, 然後用backtracking來做.
r****7
发帖数: 2282
15
哪个公司的电面?感觉有点儿难啊
暴力解的话,就类似lc上的正则匹配,不停的backtracking
不知道能不用用后缀树数组解。
r****7
发帖数: 2282
16
哪个公司的电面?感觉有点儿难啊
暴力解的话,就类似lc上的正则匹配,不停的backtracking
不知道能不用用后缀树数组解。
r*******h
发帖数: 315
17
来自主题: JobHunting版 - 别处看到的g家一个画grid的面试题
对的,感觉这里也是难点所在,无法简单的标记visited来做backtracking
a******d
发帖数: 82
18
来自主题: JobHunting版 - 好挫的F家面经
Sub array具体是指?
一段连续的数 还是可以从不连续的位置取?
前者 on 后者只能dp 还要backtracking 求最长路径
a***a
发帖数: 739
19
This indeed can be solved by DP.
Since DP[i][j] is always false if abs(i-j) >=2
So when iterating,
there are only 3 things need to be stored: DP[i][i], DP[i+1][i], DP[i-1][i]
So this DP actually just needs 3 extra space, which is O(1). And there is no
need to backtrack; just use the two iterators to scan the files once.
h***k
发帖数: 161
20
来自主题: JobHunting版 - G 店面
G onsite碰到这道题。思路是首先满足第二个条件,就是先random一个valid move,然
后开始一边fill board一边查相邻是否valid,是用sudoku那题的backtracking。表示
完整写完code时间不够,只写了个主要的结构,查valid的helper method跟面试官讨论
了下如何实现就没有写出来。
h*****u
发帖数: 1484
21
来自主题: JobHunting版 - soduku solver problem
就是dfs+backtracking
c****8
发帖数: 76
22
来自主题: JobHunting版 - 请教一道google面试题
backtracking
a****r
发帖数: 87
23
来自主题: JobHunting版 - 请教一道google面试题
同意chenm8. 就是一个backtracking.
有k个position, and each position can have list[k] 可能。
r********7
发帖数: 102
24
来自主题: JobHunting版 - 请教一道google面试题
抛个砖~ 自己写了一个, stack 然后 backtracking。 其实写完感觉stack多此一
举,不想改了。 请大神们无视
public class Solution {
public void printCombo(List> input){
if (input == null || input.size()==0){
return;
}
Stack> stc = new Stack>();
for (int i=0; i stc.push(input.get(i));
}
List> res = new ArrayList>();
while(!stc.isEmpty()){
List ... 阅读全帖
G*****m
发帖数: 5395
25
来自主题: JobHunting版 - 请教一道google面试题
这不就是backtrack吗?
r*******h
发帖数: 315
26
来自主题: JobHunting版 - g家onsite面经求hc通过
已经提交hc,但是属于borderline的case,分享面经求通过(之前1m3cd发过简单版)
,相关behavior问题都省略了。
一共五轮,午饭前三轮,午饭后两轮,其中两轮系统设计。因为从国内过来,
recruiter(印度女)特别跟第一个面试官讲我的时差反应,还请他向后面的面试官讲。
1.系统设计,面试官应该是摩洛哥人
给一个url和一个给定的方法genNextUrls可以返回所有从这个url可以直接链接到的url
。要求统计所有能访问到url数。
结果先让我coding,我以为搞错了,问要不要考虑一台机器处理不了的情况,面试官笑
了,说那是followup问题。
就用一个queue和一个hashset走bfs解决之(这里可以反衬我后面一个错误)。面试官
问如果要求判断一个url无效怎么办,我提到了exception处理两种思路,以及
genNextUrls可以怎么处理,面试官说可以,但是如果要求我的方法不能throw
exception出来,怎么让caller知道一开始的url给错了,我blabla。
面试官说现在回到你提到的scalable的问题,你的代码中有哪些地方是bo... 阅读全帖
H********n
发帖数: 99
27
可能说的是backtracking,就是一个个试,试不通就回溯。
e****x
发帖数: 148
28
就是backtracking,然后用一个list来记录剩余硬币的数量
不过我没想到如何在过程中去重,直接用set了,OJ妥妥会超时……
def centsChange(cents):
# pennies, nickles, dimes, quarters
quantity = [7,5,4,2]
value = [1,5,10,25]
path = [0,0,0,0]
result = []
dfs(cents, cents, path, result, quantity, value)
return list(set(result))
def dfs(remaining, cents, path, result, quantity, value):
if remaining < 0: return
if centsSum(path, value) == cents:
result.append(tuple(path))
for i,v in ... 阅读全帖
d******l
发帖数: 98
29
谢谢

就是backtracking,然后用一个list来记录剩余硬币的数量不过我没想到如何在过程中
去重,直接用set了,OJ妥妥会超时……def centsChange(cents)........
e****x
发帖数: 148
30
来自主题: JobHunting版 - 一个店面题
dfs with backtracking?
v*****y
发帖数: 68
31
我on site的时候也遇到了这个题,我在优化上遇到了问题。
不谈优化的话,我觉得就是典型的backtracking,把每一个可能的数字都都试一下,如
果对方一定不能赢,那就我们可以赢。reg的答案就是这样的。
哪位能说说优化?当时面试的时候我想这种方法是否有重复计算?我们是否能把一些结
果cache一下?比如说maxChoosableInteger = 10, desiredTotal=10的话,如果第一
次我们取1,对方取2,和第一次我们取2,对方取1,都需要计算canWin([3..10], 7)。
所以我们是否可以以各一个set为key,boolean为value的hashmap来cache结果?
求大神们指点,谢谢。
m**********2
发帖数: 6
32
来自主题: JobHunting版 - 一道亚麻电面题目
上周面亚麻,一个犹太人,上来先是一道常规OOD,还没讲完就被打断,说时间有限,
下一道。
然后是道coding的题目。这道题目看似简单,但是感觉有不少边界条件要考虑。
题目如下:
安卓手机解锁画面,给定任意一个解锁图形,不知道起始点,输出所有可能的path。
本能的觉得应该用DFS遍历,但是花了很多时间思考何时应该backtrack返回。估计这题
应该是挂了。
有没有大神能给点思路啊
y*****e
发帖数: 712
33
来自主题: JobHunting版 - 攒人品,报F家面经
lz, trie + dfs那题你能再解释一下吗? *是不是不用放到字典里, 比如说abc*de,
在trie里记录abc,然后skip一个character,再在后面找de? 不是太清楚具体怎么实现
的。。。
另外就是regex那题,DP的complexity是 n^2 + n^2; recursion + backtracking的复
杂度怎么考虑?最坏是2^n吧,怎么说服recursion是更优的办法呢?
另外感觉lz答得不错,phd应该有很高的级别吧,羡慕。。。

sliding
c*****n
发帖数: 95
34
来自主题: JobHunting版 - 攒人品,报F家面经
*可以和任意非空字符匹配 e.g. a - z
DP 复杂度应该是 m * n
recursion + backtracking 是 2^n. recursion好处是,如果没有很多*时,可能结束
的更早。

m********e
发帖数: 9
35
来自主题: JobHunting版 - 请大家帮忙看Uber Offer
请问一下大家,好几位朋友都说如果还没有绿的话,就应该留。
我对绿卡的理解是这样子的,在140已经approved的情况之下,如果换工作而且前雇主
不withdraw 140 application(most won't),PD可以保留,但是新雇主必须做h1b
transfer以及labor certificate。唯一的风险,就是如果在新的labor certificate被
批准之前PD变成current,我也不能够递交485。一个例子就是PD突然往前很多(例如最
近),我的PD变成current,但由于pending labor certificate不能及时递交485,然
后PD又突然backtracks,到我labor certificate下来的时候PD又不是current的了。
换工作对绿卡还有别的坏处吗?
g*****c
发帖数: 106
36
来自主题: JobHunting版 - 问个fb onsite题目
这题是不是用backtracking?
j****i
发帖数: 4
37
来自主题: JobHunting版 - 面试复习总结
1.算法
linkedlist https://leetcode.com/tag/linked-list/
2 pointer https://leetcode.com/tag/two-pointers/,或是一头一尾,或是分布于
两个数据结构)
divide and conquer https://leetcode.com/tag/divide-and-conquer/,最典型的就
是merge sort)
greedy http://geeksquiz.com/algorithms/greedy-algorithms/,最典型的就是Schedule Activity / Job sequence / Meeting rooms)
recursion and DP https://leetcode.com/tag/dynamic-programming/,最典型的就
是{Longest / Maximum / Target / Largest / Minimum / Most} + {subX /
Matrix / Tree / Path})
back tracking ... 阅读全帖
w*******g
发帖数: 9932
38
来自主题: JobHunting版 - FB Onsite新题,有人能看看吗?
if you miss a number in the correct sequence, you have to backtrack by one
number, so your example actually fails to pass the test.

了0
l******s
发帖数: 3045
39
来自主题: JobHunting版 - 赞amazon西雅图的马博士
我咋觉得是经典backtracking呢?能不能解释一下DP如何解?
s********l
发帖数: 998
40
这是我见过的 用的最有实际意义的backtracking 赞~
谢谢 大侠~
b*****n
发帖数: 618
41
来自主题: JobHunting版 - google面经(挂了)
backtracking?没懂什么意思,你是说用DFS?
h****e
发帖数: 2125
42
来自主题: JobHunting版 - google面经(挂了)
你好像是拿过FLG offer的吧,连backtracking都不知道??
h****e
发帖数: 2125
43
来自主题: JobHunting版 - google面经(挂了)
谁说不能用recursion?你丫到底懂不懂backtracking?唧唧歪歪废话真特么多。

下?
h****e
发帖数: 2125
44
来自主题: JobHunting版 - google面经(挂了)
这题一看让你把1变0,自然就是考backtracking。三个方向:dirs = {{0,-1},{0,1},{
1,0}},当前coordinate要loop through这三个方向。如果新坐标的值是1的话,就要先
变成0同时total变化数量加一,然后call recursive method。在recursive call之后
你还得把新坐标变回1,再try下一个方向。
懂了?
i*******e
发帖数: 114
45
来自主题: JobHunting版 - google面经(挂了)
请问你backtracking的时间复杂度多少?假设 n x n 的空间。
BFS的话,每个iteration 处理 某一个单一cost的所有cell。 每层之后cost + 1.
时间复杂度可以 O(n^2), 因为每个cell只处理一遍。

,{
b*****n
发帖数: 618
46
来自主题: JobHunting版 - google面经(挂了)
" 二维matrix,含0,1。 1是障碍。
00011
11100
从左上角出发到右下角, 可以往上,往下,往右移动。
把1变成0,使得你可以从左上角到右下角。
求最小的变化数字。"
这是原来的描述,二维matrix,所以我觉得是m×n
我题都没看懂傻逼了,你牛逼你继续喷吧,你还可以继续用你牛逼的backtracking来解
这个只有两行的matrix
b*****n
发帖数: 618
47
来自主题: JobHunting版 - Zenefits 电面1
这个只能DFS backtracking了吧,找到所有的unique path
l******s
发帖数: 3045
48
来自主题: JobHunting版 - FLGU面经offer及杂谈
谢谢,算是top down的递归dp+backtracking,跟我的想法一致了。
m****t
发帖数: 23
49
来自主题: JobHunting版 - FLGU面经offer及杂谈
can I ask why we can not do this problem using backtracking? as long as I
found a position when the 1st player picked at first will win, I can just
return that position.
not sure if that will work.
l******s
发帖数: 3045
50
来自主题: JobHunting版 - FLGU面经offer及杂谈
谢谢,算是top down的递归dp+backtracking,跟我的想法一致了。
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)