s****u 发帖数: 7 | 1 1.判断回文
2.子数组和最大值
3.括号匹配,用栈和不用栈
4.求多叉树的兄弟结点和表兄弟节点
5.信用卡号校验问题,需考虑很多边界条件,要求在主循环里判断并处理特殊情况
6.线段重合问题,判断一段线段是否与之前的N条重合,重合次数 |
f*******7 发帖数: 943 | |
f*******7 发帖数: 943 | |
w****a 发帖数: 710 | |
r*******6 发帖数: 99 | 5 子数组和最大值这道题要求用DP?
【在 s****u 的大作中提到】 : 1.判断回文 : 2.子数组和最大值 : 3.括号匹配,用栈和不用栈 : 4.求多叉树的兄弟结点和表兄弟节点 : 5.信用卡号校验问题,需考虑很多边界条件,要求在主循环里判断并处理特殊情况 : 6.线段重合问题,判断一段线段是否与之前的N条重合,重合次数
|
e****e 发帖数: 418 | 6 bless!! 括号匹配,不用栈, 几种类型的括号?
【在 s****u 的大作中提到】 : 1.判断回文 : 2.子数组和最大值 : 3.括号匹配,用栈和不用栈 : 4.求多叉树的兄弟结点和表兄弟节点 : 5.信用卡号校验问题,需考虑很多边界条件,要求在主循环里判断并处理特殊情况 : 6.线段重合问题,判断一段线段是否与之前的N条重合,重合次数
|
f*****e 发帖数: 2992 | 7 用递归,还是用到了栈。
【在 e****e 的大作中提到】 : bless!! 括号匹配,不用栈, 几种类型的括号?
|
s****u 发帖数: 7 | 8 只有一种括号
【在 e****e 的大作中提到】 : bless!! 括号匹配,不用栈, 几种类型的括号?
|
w*******l 发帖数: 33 | 9 new grad 还是experienced position啊?
thanks |
d**********x 发帖数: 4083 | 10 那就是数数啊。。
【在 s****u 的大作中提到】 : 只有一种括号
|
|
|
e****e 发帖数: 418 | 11 Agree. Count is increased by 1 when encountering {, decreased by 1 when it's
} At each stop of 数数, when count is less than 0, return false. After 数数
, if the count is not equal to 0, return false. else return true.
【在 d**********x 的大作中提到】 : 那就是数数啊。。
|
s****u 发帖数: 7 | 12 不是判断是否匹配,是返回所有成对的括号的位置
's
【在 e****e 的大作中提到】 : Agree. Count is increased by 1 when encountering {, decreased by 1 when it's : } At each stop of 数数, when count is less than 0, return false. After 数数 : , if the count is not equal to 0, return false. else return true.
|
e****e 发帖数: 418 | 13 Use an array. add the left parenthesis position(number) into array, if
encountering the right parenthesis, output the last array element and the
right parenthesis position. The pointer to last array element also left
shift by one. The way this array used is very similar to the stack.
【在 s****u 的大作中提到】 : 不是判断是否匹配,是返回所有成对的括号的位置 : : 's
|
l*****a 发帖数: 559 | 14 这个版本和stack的做法完全没有区别。就是自己实现了一个stack。
【在 e****e 的大作中提到】 : Use an array. add the left parenthesis position(number) into array, if : encountering the right parenthesis, output the last array element and the : right parenthesis position. The pointer to last array element also left : shift by one. The way this array used is very similar to the stack.
|
c*u 发帖数: 22 | 15 这样可以么,数组a存 1 对应{, -1 对应 }, 数组a存位置
求和0,索引 b是成对位置
a[1]..a[n]
b[1]..b[n]
if { then
a[x]=1
else
a[x]=-1
for(i=1;i
int sum = a[i];
int j = i;
while(sum!=0 && j
j++
sum += a[j]
}
if(sum==0)
output: start at b[i] end b[j]
}
【在 s****u 的大作中提到】 : 不是判断是否匹配,是返回所有成对的括号的位置 : : 's
|
c*u 发帖数: 22 | 16 {
{
}
}
{
}
【在 e****e 的大作中提到】 : Use an array. add the left parenthesis position(number) into array, if : encountering the right parenthesis, output the last array element and the : right parenthesis position. The pointer to last array element also left : shift by one. The way this array used is very similar to the stack.
|
m****s 发帖数: 1197 | |
e***s 发帖数: 799 | 18 第四题的意思是 随意个一个节点和根节点,返回随意一个兄弟节点和一个表兄弟节点
吗? |