Redian新闻
>
懂root的帮忙看看吧
avatar
懂root的帮忙看看吧# PDA - 掌中宝
s*i
1
一个0和1组成的数组,改变其中一个数(0变1或者1变0),使得改变后数组里连续的0
或者1的长度最大,返回这个最大长度。要求O(N)。
比如[1 0 1],改变0,返回3
[1 1 0 1 0 0],改变中间的0或者1,返回4
avatar
i*i
2
昨天Online申请的,今天收到了email说Approved。大约多长时间能收到卡?打电话能
查到批了多少额度吗?很想早点知道。
avatar
f*d
3
HTC One M7,现在wechat安装老说什么unknown error 24,上网查了查,试验了
各种办法,都不行。有一个方法说要删除datadata下的一个文件。手机没有
root,用一般的file manager看data下面没有data子目录。不知道是不是
root就有了。于是想root看看。当了一个kingo,等了半天说是root failed,又
上网查,发现好像是没有unlock bootloader。去了htc 网站准备unlock这个
bootloader,按照步骤做到第五步就不知所云了。泥码搞个root这么费劲。
懂root的帮忙看看,我如下两个问题吧
(1) datadata是不是root之后就能看见了?如果看不见我就不折腾了。
(2) 有没有快速unlock bootloader的办法?
我去了play store查找wechat说状态是installed,估计就是有个残留文件
没有删除。如果能root了,我就准备用什么adb直接执行安装? 看了看好像
是shell? 这个怎么用呢?
多谢高人!
avatar
m*n
4
很简单啊,
第一遍算每个区间的连续0或者1的长度,
比如[1 0 1],就是[1 1 1]
[1 1 0 1 0 0] 就是[2 1 1 2]
然后,第二遍扫看看[x 1 y]这个pattern的最大的和x+1+y是多少。
对不符合这种pattern的情况,就是最大的串的长度+1 或者是 最大的串的长度(这儿
有个问
题,如果全0或者全1,必须改吗?)。
其实实际编程,只要一遍就行了,用个 3 elements的moving window,有点DP的意思。

0

【在 s******i 的大作中提到】
: 一个0和1组成的数组,改变其中一个数(0变1或者1变0),使得改变后数组里连续的0
: 或者1的长度最大,返回这个最大长度。要求O(N)。
: 比如[1 0 1],改变0,返回3
: [1 1 0 1 0 0],改变中间的0或者1,返回4

avatar
x*q
5
恭喜,一周内,可以。
avatar
y*g
6
是的,root以后用root explorer资源管理器,查看系统盘目录。里面有data 目录。要
用授权管理器给re这个软件权限,就可以修改系统盘里的文件了。当然有些东西不要乱
改,改了可能开不了机,要重新刷机。
当然不root也可以装这个管理器,就是看到目录也不能删除,因为没有权限。

【在 f****d 的大作中提到】
: HTC One M7,现在wechat安装老说什么unknown error 24,上网查了查,试验了
: 各种办法,都不行。有一个方法说要删除datadata下的一个文件。手机没有
: root,用一般的file manager看data下面没有data子目录。不知道是不是
: root就有了。于是想root看看。当了一个kingo,等了半天说是root failed,又
: 上网查,发现好像是没有unlock bootloader。去了htc 网站准备unlock这个
: bootloader,按照步骤做到第五步就不知所云了。泥码搞个root这么费劲。
: 懂root的帮忙看看,我如下两个问题吧
: (1) datadata是不是root之后就能看见了?如果看不见我就不折腾了。
: (2) 有没有快速unlock bootloader的办法?
: 我去了play store查找wechat说状态是installed,估计就是有个残留文件

avatar
f*t
7
//f1,f2分别表示0次改变跟1次改变时,当前的最长连续1的长度
int longestOne(const vector& arr) {
int f1 = 0, f2 = 0, ret = 0;
for (int i = 0; i < arr.size(); ++i) {
if (arr[i]) {
++f1; ++f2;
} else {
f2 = f1 + 1;
f1 = 0;
}
ret = max(ret, f2);
}
return ret;
}
avatar
i*e
8
branch申请现在不是70K免第一年年费么
online申不合算把
avatar
m*n
9
如果数组全0,你是result是 1?

【在 f******t 的大作中提到】
: //f1,f2分别表示0次改变跟1次改变时,当前的最长连续1的长度
: int longestOne(const vector& arr) {
: int f1 = 0, f2 = 0, ret = 0;
: for (int i = 0; i < arr.size(); ++i) {
: if (arr[i]) {
: ++f1; ++f2;
: } else {
: f2 = f1 + 1;
: f1 = 0;
: }

avatar
m*s
10
70k?

【在 i***i 的大作中提到】
: 昨天Online申请的,今天收到了email说Approved。大约多长时间能收到卡?打电话能
: 查到批了多少额度吗?很想早点知道。

avatar
l*8
11
int maxConsecutive(const vector & ary) {
int changed[2] = {0, 0};
int noChange[2] = {0, 0};
int maxL = 0;
for (bool x : ary) {
maxL = max(maxL, ++changed[x]);
maxL = max(maxL, ++noChange[x]);
changed[1-x] = noChange[1-x];
noChange[1-x] = 0;
}
return maxL;
}

0

【在 s******i 的大作中提到】
: 一个0和1组成的数组,改变其中一个数(0变1或者1变0),使得改变后数组里连续的0
: 或者1的长度最大,返回这个最大长度。要求O(N)。
: 比如[1 0 1],改变0,返回3
: [1 1 0 1 0 0],改变中间的0或者1,返回4

avatar
i*i
12
最近的Branch 300 miles以外,等收到卡,看看能不能Match吧

【在 i*********e 的大作中提到】
: branch申请现在不是70K免第一年年费么
: online申不合算把

avatar
m*n
13
不对吧,[0 1]的result是1?

【在 l*********8 的大作中提到】
: int maxConsecutive(const vector & ary) {
: int changed[2] = {0, 0};
: int noChange[2] = {0, 0};
: int maxL = 0;
: for (bool x : ary) {
: maxL = max(maxL, ++changed[x]);
: maxL = max(maxL, ++noChange[x]);
: changed[1-x] = noChange[1-x];
: noChange[1-x] = 0;
: }

avatar
k*e
14
我branch申请的,一周了也没消息。

【在 i***i 的大作中提到】
: 昨天Online申请的,今天收到了email说Approved。大约多长时间能收到卡?打电话能
: 查到批了多少额度吗?很想早点知道。

avatar
l*8
15
写错了, 谢谢指出。
loop 里面第三行少了个 加1
int maxConsecutive(const vector & ary) {
int changed[2] = {0, 0};
int noChange[2] = {0, 0};
int maxL = 0;
for (bool x : ary) {
maxL = max(maxL, ++changed[x]);
maxL = max(maxL, ++noChange[x]);
changed[1-x] = 1 + noChange[1-x];
noChange[1-x] = 0;
}
return maxL;
}

【在 m*****n 的大作中提到】
: 不对吧,[0 1]的result是1?
avatar
s*d
16
chase现在慢的很。
我Marriott 4/16申,5/4批,5/11寄出来,现在还没有收到!
avatar
f*n
17
mark
avatar
p*5
18
branch 申,出示什么business 证明?

【在 k***e 的大作中提到】
: 我branch申请的,一周了也没消息。
avatar
s*i
19

如果全是0也要改,所以应该是最长长度-1

【在 m*****n 的大作中提到】
: 很简单啊,
: 第一遍算每个区间的连续0或者1的长度,
: 比如[1 0 1],就是[1 1 1]
: [1 1 0 1 0 0] 就是[2 1 1 2]
: 然后,第二遍扫看看[x 1 y]这个pattern的最大的和x+1+y是多少。
: 对不符合这种pattern的情况,就是最大的串的长度+1 或者是 最大的串的长度(这儿
: 有个问
: 题,如果全0或者全1,必须改吗?)。
: 其实实际编程,只要一遍就行了,用个 3 elements的moving window,有点DP的意思。
:

avatar
s*d
20
self-identified? :)

【在 p**5 的大作中提到】
: branch 申,出示什么business 证明?
avatar
f*t
21

原來是0或1?我之前看以為是連續1~我的代碼是連續1最長長度

【在 m*****n 的大作中提到】
: 如果数组全0,你是result是 1?
avatar
x*3
22
我那个傻逼银行员工公司东西我都带了啥也没管我要,整的最后chase来信让我寄
verification of TIN。
avatar
M*a
23
mark下。
avatar
t*2
24
恭喜
avatar
m*3
25
能解释一下思路么,没太明白

【在 l*********8 的大作中提到】
: 写错了, 谢谢指出。
: loop 里面第三行少了个 加1
: int maxConsecutive(const vector & ary) {
: int changed[2] = {0, 0};
: int noChange[2] = {0, 0};
: int maxL = 0;
: for (bool x : ary) {
: maxL = max(maxL, ++changed[x]);
: maxL = max(maxL, ++noChange[x]);
: changed[1-x] = 1 + noChange[1-x];

avatar
e*d
26
我是6万的时候批的,上周给银行打电话要求MACTH第一个电话被无情的拒绝了。挂了马
上打第二个是个女接线员。表明来意后很友好的说会发个报告过去7-10天内会MAIL给我
结果。结果第三天就发现多了1万积分。显示ADJUSTMENT。
avatar
a*0
27
我来解释一下?
int changed[2] = {0, 0};
记录 0或者1组成的连续串最长是多少 此串变化过一次
int noChange[2] = {0, 0};
记录 0或者1组成的连续串最长是多少 此串没有变化过
change【1】 可以理解为 1的通过俘虏0的连续串得到的 so far的连续串长度
扫描每一个数 有几种操作
此数必定破坏原来对手的unchange过的串 也就是使之归零
此数可以变化为对手 这样 对手的change = 对手unchange +1
无论如何情况 都破坏了对手的unchange的串 必须归零 因为即使第二种情况 对手的
unchange的串也不再是unchange了
当然此数也做 这么两件事
使自己change的串长度加一
使自己未经change的串长度加一
如果可以把这部分逻辑从max函数中拿出来会清晰很多吧
两个max是如果不去change应该如何
后边的两个语句是如果x变成对手应该如何
longway太牛了 其实这是dp
maxL = max(maxL, ++changed[x]);
maxL = max(maxL, ++noChange[x]);
下标如果换成 if x == else 可能更清楚

【在 m******3 的大作中提到】
: 能解释一下思路么,没太明白
avatar
z*w
28
申请到了,确实是史高,7万点+免年费。我根本就没去branch,打电话给了自己的
banker,然后他再转给了一个business banker,传真了一个签名过去就行,三天后收
到卡,整个过程很smooth,赞一下chase。
相反citi att卡申请完了以后,过了一个礼拜才先寄过来一封信说恭喜马上你就要收到
新卡了(?!),信还特别厚,我都以为卡都在里面了,这不是浪费资源吗?
Chase的CEO确实厉害,从细节看其他的银行已经落后太多了。
avatar
l*8
29
谢谢apprentice00,  解释得很清楚。

【在 a**********0 的大作中提到】
: 我来解释一下?
: int changed[2] = {0, 0};
: 记录 0或者1组成的连续串最长是多少 此串变化过一次
: int noChange[2] = {0, 0};
: 记录 0或者1组成的连续串最长是多少 此串没有变化过
: change【1】 可以理解为 1的通过俘虏0的连续串得到的 so far的连续串长度
: 扫描每一个数 有几种操作
: 此数必定破坏原来对手的unchange过的串 也就是使之归零
: 此数可以变化为对手 这样 对手的change = 对手unchange +1
: 无论如何情况 都破坏了对手的unchange的串 必须归零 因为即使第二种情况 对手的

avatar
y*n
30
这个万一考的人看不懂怎么办?
avatar
a*n
31
你这个还是不对吧。
比如 [1,1,0,1,0,0,0,0,0,0,0,0,0,0]的结果是4?不过思路挺好的,再加一个变量就
可以0空间开销了。

【在 f******t 的大作中提到】
: //f1,f2分别表示0次改变跟1次改变时,当前的最长连续1的长度
: int longestOne(const vector& arr) {
: int f1 = 0, f2 = 0, ret = 0;
: for (int i = 0; i < arr.size(); ++i) {
: if (arr[i]) {
: ++f1; ++f2;
: } else {
: f2 = f1 + 1;
: f1 = 0;
: }

avatar
a*n
32
赞解释,我是把changed数组作为大小为1的cache……
这代码面试的时候写出来估计面试官都要跪了。

【在 a**********0 的大作中提到】
: 我来解释一下?
: int changed[2] = {0, 0};
: 记录 0或者1组成的连续串最长是多少 此串变化过一次
: int noChange[2] = {0, 0};
: 记录 0或者1组成的连续串最长是多少 此串没有变化过
: change【1】 可以理解为 1的通过俘虏0的连续串得到的 so far的连续串长度
: 扫描每一个数 有几种操作
: 此数必定破坏原来对手的unchange过的串 也就是使之归零
: 此数可以变化为对手 这样 对手的change = 对手unchange +1
: 无论如何情况 都破坏了对手的unchange的串 必须归零 因为即使第二种情况 对手的

avatar
a*n
33
是不是还是有点小bug
比如[1,1,0]的时候最后一个0就没有计算,返回是2?

【在 l*********8 的大作中提到】
: int maxConsecutive(const vector & ary) {
: int changed[2] = {0, 0};
: int noChange[2] = {0, 0};
: int maxL = 0;
: for (bool x : ary) {
: maxL = max(maxL, ++changed[x]);
: maxL = max(maxL, ++noChange[x]);
: changed[1-x] = noChange[1-x];
: noChange[1-x] = 0;
: }

avatar
l*8
34
赞!
还是出bug啊,
改正了:
int maxConsecutive(const vector & ary) {
int changed[2] = {0, 0};
int noChange[2] = {0, 0};
int maxL = 0;
for (bool x : ary) {
++changed[x];
++noChange[x];
changed[1-x] = 1 + noChange[1-x];
noChange[1-x] = 0;
maxL = max(maxL, changed[x]);
maxL = max(maxL, changed[1-x]);
}
return maxL;
}

【在 a***n 的大作中提到】
: 是不是还是有点小bug
: 比如[1,1,0]的时候最后一个0就没有计算,返回是2?

avatar
y*n
35
又看了一遍,太牛了。这就是差距。想想自己工资低一点,也认了。。
avatar
k*8
36
我也认了
avatar
c*r
37
mark
avatar
b*t
38
还有点问题吧,如果0000就输出4了,按题意应该是3?

【在 l*********8 的大作中提到】
: 赞!
: 还是出bug啊,
: 改正了:
: int maxConsecutive(const vector & ary) {
: int changed[2] = {0, 0};
: int noChange[2] = {0, 0};
: int maxL = 0;
: for (bool x : ary) {
: ++changed[x];
: ++noChange[x];

avatar
l*8
39
是的,谢谢指出。
我开始是按照“改不改一个数字都行”来做的,后来楼主clarify 要求后,我没改干净
。。。。
看似简单的题目,一定要小心再小心。

【在 b*********t 的大作中提到】
: 还有点问题吧,如果0000就输出4了,按题意应该是3?
avatar
m*k
40
你不是说了:一个0和1组成的数组

【在 s******i 的大作中提到】
:
: 如果全是0也要改,所以应该是最长长度-1

avatar
h*j
41
Here are my 5 cents.
It will be easier to understand if we denote the position explicitly in the
iteration.
Let g_k[x] be the longest continuous `x` ending at position k, (exactly, not
at most) one change has been made.
Let f_k[x] represent the longest continous `x` ending at position k, no
change has been made.
Then we have the following iterative equations.
Update changed
g_{k+1} [x] = g_k [x] + 1
g_{k+1} [1-x] = f_k [1-x] + 1
Update unchanged
f_{k+1} [x] = f_k[x] + 1
f_{k+1} [1-x] = 0
----------------------------------------------
The corresponding code is:
int maxConsecNumChangeOne(vector &A) {
vector f(2, 0), g(2, -1);
int maxL = 0;
for (int x : A) {
g[x]++;
g[1-x] = f[1-x] + 1;
f[x]++;
f[1-x] = 0;
maxL = max(maxL, g[x]);
}
return maxL;
}
Welcome to point it out if you find any bug in the code.
avatar
b*r
42

the
not

【在 h****j 的大作中提到】
: Here are my 5 cents.
: It will be easier to understand if we denote the position explicitly in the
: iteration.
: Let g_k[x] be the longest continuous `x` ending at position k, (exactly, not
: at most) one change has been made.
: Let f_k[x] represent the longest continous `x` ending at position k, no
: change has been made.
: Then we have the following iterative equations.
: Update changed
: g_{k+1} [x] = g_k [x] + 1

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。