9.19同花顺笔试

题目太多了 简单记录下其中几道手写题好了。

  1. 输入出生日期,返回距离还有多少天生日
    function happyBirthday(year,mon,day){
     let now = new Date()
     let last = new Date(year,mon,day)
     let nextBirth = new Date(now.getFullYear(),last.getMonth(),last.getDate())
     return new Date(nextBirth-now).getDate()
    }
  2. 输入一个数组[1,5,2,4,6,3] 让里面的数两两配对,取队里的小值,返回总和最小
    输入:[1,5,2,4,6,3] 输出:6 [1,6] [2,4] [3,5] 1+2+3
    这个排序后res加前一个,然后指针往下走就行了
    function MysortSum(nums){
     nums.sort()
     let res = 0
     while(nums.length){
         res+=nums[0]
         nums.pop()
         nums.shift()
     }
     return res
    }
  3. 生存主题,现有N瓶水,D元钱,每天需要消耗X元Y瓶水 购物的话 每瓶水需要P元 求最多生存多少天
    思路:先把手头的水喝完,先考虑水再考虑钱。有点贪心
    var stillAlive = function(N,D,X,Y,P){
     // N水 D元
     // 消耗 X元 Y水
     // 一瓶水 P元
     // 先考虑把手上的水喝完
     let nowWater = N
     let nowMoney = D
     let LostWater = Y
     let LostMoney = X
     let buyWater = P
     let res = 0
     while(true){
         nowMoney -= LostMoney
         nowWater -= LostWater
         if(nowWater<0){
             // 不够喝水了 花钱
             nowMoney -= buyWater*(Math.abs(nowWater))
             nowWater = 0
         }
         if(nowMoney>0){
             // 这天撑过去了
             res++
         }else{
             // 这天没撑过去
             return res
         }
     }
    }
  4. 给一个数组,把0放置到数组后面***** 要求语言python/c/java
    想了想还是用最熟悉的js好了,不调用库函数方法的话其实没多大差
    思路:双指针遍历 一个头开始 一个尾巴开始 尾巴开始的遇到非零暂停,头开始的遇到零暂停,然后两个指针交换。
    var pushZero = function(nums){
     let pre = 0
     let end = nums.length-1
     while(nums[end]==0){
         end--
     }
     while(pre<end){
         if(nums[pre]!=0){
             pre++
             continue
         }else{
             // 交换pre跟end
             let temp = nums[pre]
             nums[pre] = nums[end]
             nums[end] = temp
             end--
             while(nums[end]==0){
                 end--
             }
         }
     }
     return nums
    }
  5. 函数柯里化
    let currying = funciton(fn){
     let curry = function(...args){
         if(args.length>fn.length){
             return fn.apply(this,[...args])
         }else{
             return function hi(...args2){
                 return curry.apply(this,[...args].concat([...args2]))
             }
         }
     }
     return curry
    }
    function add1(x,y){
     return x+y
    }
#同花顺##同花顺校招#
全部评论
效率挺高的,19笔试23就收到感谢信了
1 回复 分享
发布于 2022-09-24 14:09 陕西
楼主你好,请问同花顺笔试需要准备摄像头吗?
点赞 回复 分享
发布于 2022-09-22 12:06 广东
楼主您好,请问同花顺笔试可以用本地IDE吗?
点赞 回复 分享
发布于 2022-09-22 21:03 四川
什么岗位啊
点赞 回复 分享
发布于 2022-09-25 16:46 浙江
请问可以不用js写嘛
点赞 回复 分享
发布于 2023-02-24 23:07 安徽

相关推荐

01-26 18:45
门头沟学院 Java
一天代码十万三:哥们实习再包一下吧,产出太笼统了,尽量体现业务
点赞 评论 收藏
分享
黑皮白袜臭脚体育生:简历统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写会更好
点赞 评论 收藏
分享
评论
5
36
分享

创作者周榜

更多
牛客网
牛客企业服务