8月25日 奇安信前端工程师笔试

1.计算城市通路数目 DFS

判断从城市0到城市4有多少条路可以通
  0和4城市之间的网络拓扑是有向无环图,计算0到4有多少条路可以走
function DagPathNum(nodes) {
  // write code here
  let n = nodes.length;
  let map = Array.from(new Array(n), () => new Array(n).fill(false));
  for (let i = 0; i < nodes.length; i++) {
    for (let j = 0; j < nodes[i].length; j++) {
      map[i][nodes[i][j]] = true;
    }
  }
  console.log(map);
  let count = 0;
  function fun(i) {
    console.log("i:", i);
    if (i == n - 1) count++;
    for (let j = 0; j < n; j++) {
      if (map[i][j]) {
        fun(j);
      }
    }
  }
  fun(0)
  return count;
}

2. 查找直角坐标系内的两个点使他们与x轴围成的长方形面积最大  (暴力)

 给定一个无符号整数数组,每个元素表示一个点,数组元素的索引作为直角坐标系的x坐标,元素作为y坐标,任意两个点:
  x轴方向的距离作为长方形的长,y轴方向的最小值作为长方形的宽,找到两个点使长方形面积最大,输出面积。
 例如 [4,1,2,7]代表4个点(0,4),(1,1),(2,2),(3,7),点(0,4),(1,1)表示的长方形:
 长=(1-0),宽=min(4,1),面积=长*宽=1
function cfx(node) {
  node = node.replace("[", "").replace("]", "").split(",");
  let nums = [], max = 0;
  for (let i = 0; i < node.length; i++) {
    nums.push({
      x: i,
      y: parseInt(node[i])
    })
  }
  for (let i = 0; i < nums.length; i++) {
    for (let j = i + 1; j < nums.length; j++) {
      let c = nums[j].x - nums[i].x;
      let w = getMin(nums[i].y, nums[j].y);
      max = Math.max(max, c * w)
    }
  }
  function getMin(a, b) {
    return a < b ? a : b;
  }
  return max
}




#奇安信笔试##奇安信23秋招题怎么回事,看不懂#
全部评论
?前端考这种算法题?
3 回复 分享
发布于 2022-08-31 10:44 上海
请问代码题可以选择编程语言吗?比如java?
点赞 回复 分享
发布于 2022-09-15 16:58 陕西
有收到面试通知的uu嘛?
点赞 回复 分享
发布于 2022-09-01 12:27 浙江
第二题可以优化,双指针加贪心,可以看看lc的11题
点赞 回复 分享
发布于 2022-08-25 23:08 重庆

相关推荐

拒绝996的悲伤蛙:此贴终结|给路过的牛友分享一下心得👇 实习的时候不要光埋头干活,身边的大佬同事才是真·宝藏人脉!大胆请教他们工作以及职场上的问题以我的经历,我的带教有十几年工作经验,做过运维、后端开发、web测试,现在是高级软测,是行走的避坑指南 我之前纠结要不要学Web测试简历,被他一句话点醒:Web发展成熟,岗位需求在缩,AI对互联网的冲击可能以后架构+开发+测试一人包揽。现在用户更多用的是移动端APP/小程序,相比之下天天守着电脑刷网页的人基数小。 这里我的纠结得到反馈,于是我又把简历发给带教,获得了一对一的简历指导。 感兴趣的可以看看: 1.教育背景:本科→本科(全日制) 2.实习经历:总体问题不大,但第2点要稍作修改,可以写但做功课,如风机、水箱……可能会问用哪个供应商的?使用寿命、型号、电压电流、多少秒会触发逻辑? 3.项目经历(坑太多,大型翻车现场): - 项目名越直白越好,让人一眼就知道你干了啥。 -用的什么语言设计核心接口,异步执行做功课,涉及线程问题,被问可回答n个功能是如何错开异步执行的 - “验证任务消费……阻塞丢包”“高负载稳定性”这种词,没三五年开发功底不要写,不然面试时被问线程、数量级、CPU占用,内存带宽等影响性能的直接原地社死。 -做功课 -做功课,测了哪些模块,如何设计,接口流量抓包,token,变量…… -做功课,要熟悉网络协议…… 带教之前做互联网开发的时候面试过很多人,总的来说不要为了显得项目高大上过渡包装,写了就要做好拷打的准备
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
8
45
分享

创作者周榜

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