小步创想PHP笔试题

(1)第一题吧比较简单,但是吧,越基础越头疼,凉凉!正题:统计字符串中出现字符最多的次数的字符!(一首凉凉送给自己)
def MaxStrNum(str1):
    """
    res 返回的结果字符
    counts:返回的字符出现的次数
    """
    res=""
    counts=0
    s1=set(str1):
    for i in s1:
        # temp_str 临时存储当前的字符
        # temp_count 临时存储当前字符次数
        temp_str = ""
        temp_count = 0
        for j in str1:
            if i == j:
                temp_str = i
                temp_count += 1
        if temp_count > counts:
            counts=temp_count
            res=temp_str
    return(res,counts)


这是下来看了好半天才反应过来的~水平确实是有待提高,蓝瘦。有高人指点么???
(2)还有两题,一起补上,就算是留给以后的自己看看吧,思路不清晰。确实是有点难搞~题目搞忘了:将给定格式的字符串驼峰化命名(自己起的,不对勿怪)形如:open_door -> OpenDoor;make_by_id->MakeById^
def CamelCase(str1):
    # temp 存储按照参数划分的字符串列表
    temp = str1.split("_")
    # res 存储最后生成的字符串结果
    res = ""
    for i in temp:
        # str.capitalize() 将首字母大写
        res += i.capitalize()
    return res
    
这题其实没那么难,就是把那个字母大小写那个函数忘得透透的。自作孽不可活啊!
(3)最后一题了,不知道这题的难度,但是吧,我也是没做出来,上面两题至少思路还是挺完善的,下面这题,直接就给我绕晕了,不知为何,功底不够,自我检讨~自己把自己绕晕的那种…
下面切入正题:补齐时间,对于2个数据之间大于3秒的,需要补充数据成每3秒一条。如:[{time:1},{time:4},{time:7},{time:22},{time:25},{time:36}] - >结果:[{time:1},{time:4},{time:7},{time:10},{time:13},{time:16},{time:19},{time:22},{time:25},{time:28},{time:31},{time:34},{time:36}],刚开始的我居然题目都没看明白,检讨检讨。
def TimeInterval(nums):
    res = []
    temp = nums[-1]
    left,right = 0,len(nums) - 1
        while left < right:
            if nums[left+1] - nums[left] > 3:
                res.append(nums[left])
                res.append(nums[left]+3)
                while nums[left+1] - res[-1] > 3:
                    res.append(res[-1]+3)
            else:
                res.append(nums[left])
            left += 1
        res.append(temp)
    return res
这是我琢磨了一会之后的思路,纯人工实现,若有大佬路过,发现有问题,还请指点!
###   记人生中的第一次笔试(起码有思路的那种)


#小步创想笔试##笔试题目##PHP##小步创想##内推#
全部评论

相关推荐

头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务