题解 | #五八文字碰碰消#

五八文字碰碰消

http://www.nowcoder.com/questionTerminal/133c1e42c82c40968f032b501d719331


// 参考:********的22-括号生成 
// 思路:使用回溯记录数量,五看成左括号,八看成右括号
// 不符合的条件的直接剪枝 

/**
 * 输入整数n,返回可消除为空字符串的的n组"五八"字符串数量。
 * @param n int整型 
 * @return int整型
 */
function getTargetNumber(n) {
  let res = 0;
  backtracing(n, n);
  return res;

  function backtracing(fi, ei) {
    if (fi == 0 && ei == 0) {
      res++;
      return;
    }
    if (fi > 0) {
      backtracing(fi - 1, ei);
    }
    // 保证八比五少
    if (ei > fi) {
      backtracing(fi, ei - 1);
    }
  }
}

module.exports = {
  getTargetNumber: getTargetNumber,
};



全部评论

相关推荐

点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务