算法题

作者: chunleiml | 来源:发表于2019-07-19 10:01 被阅读0次

1.一段n个台阶组成的楼梯,小明从楼梯的最底层向最高层处前进,他可以一次迈一阶或两阶,问:他有多少种不同的走法?


def func(n):
  if n==0 or n==1:
        return 1
  else:
        return f(n-1)+f(n-2)
  1. 检查给定的链表是否包含循环,包含循环返回1,不包含循环则返回0。同时说明所实现的时间和空间复杂度是多少。
def find_loop(list):
    p1 = p2 = list
    while p2 and p2.pnext:
        p1 = p1.pnext
        p2 = p2.pnext.pnext
        if p1 == p2:
            return 1
    return 0
时间复杂度O(n), 空间复杂度O(1).
  1. 按照单词反转给定句子。例如,输入"what is your name",返回"name your is what"。
    特别提醒:使用python语言者,请不要使用诸如''.split, [::-1]等时间/空间复杂度不是O(1)的函数。java等其他语言类推。
def str_reverse(str,i,j):
    while i<j:
        str[i],str[j]=str[j],str[i]
        i+=1
        j-=1
def sentence_reverse(sentence):
    sent_list = list(sentence)
    i=0
    len_list = len(sent_list)
    while i<len_list:
        if sent_list[i] !=' ':
            start = i
            end=start+1
            while (end<len_list) and (sent_list[end]!=' '):
                end += 1
            str_reverse(sent_list,start,end-1)
            i = end
        else:
            i+=1
    sent_list.reverse()
    return(''.join(sent_list))

  1. 打印二叉搜索树的所有叶子节点。请优先思考非递归的方法。最后,就所实现的函数说明时间和空间复杂度。

相关文章

  • Android面经| 算法题解

    整理了校招面试算法题,部分《剑指offer》算法题,以及LeetCode算法题,本博文中算法题均使用Java实现校...

  • 面试题高频算法题整理

    以下算法题几乎都是简单题,都为面试算法题值得刷的题,需要理解并记住解题思路,而其中★标注的题,更是面试算法题中的高...

  • 回溯,贪心,动态规划

    1.回溯算法思想leetcode 112 号算法题:路径总和leetcode 113 号算法题:路径总和 IIle...

  • 算法题

    一、对一组数据进行降序或者升序排序(冒泡算法) intnums[10] = {4,5,1,10,7,1,8,3,6...

  • 算法题

    现在有一个字符串 string,它是一段英文,要求你统计这段英文里每个字母出现的次数。*例如输入 'Hello',...

  • 算法题

    名企笔试:网易2017春招笔试(工作安排)【http://mp.weixin.qq.com/s/y08d3WhZK...

  • 算法题

    写一个方法 获取一个字符串的长度? 写一个冒泡排序 数组去重 javascript实现格式化输出,比如输入9999...

  • 算法题

    1.求出1-100累加的和 2.求出1-100中奇数相加的和 3.求1000以内的斐波那契数 4.求1000以内的素数

  • 算法题

    1、求二进制数字中1的个数 自带库 (binary_num).count('1') 按位运算符有:左移运算符(<<...

  • 算法题

    1. 租金卡大放送 题目:“司庆大放送,一元即租房”,司庆当日,签约入住的客户,住满30天,返还(首月租金-1元)...

网友评论

      本文标题:算法题

      本文链接:https://www.haomeiwen.com/subject/mbxjlctx.html