开发者导航
算法刷题
使用暴力算法解决“x的平方根”问题
题目:x的平方根 描述:题描述:在不使用 sqrt(x) 函数的情况下,得到 x的平方根的整数部分。 重点考察:二分法、牛顿迭代 思路: 若没有学过算法,普通人一...
使用带缓存结构的递归方法解决“青蛙跳台阶”问题
题目:青蛙跳台阶 描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:众所周知,递归这种思想存在重复...
使用循环(迭代)法替代递归法优化“青蛙跳台阶”问题
题目:青蛙跳台阶 描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:前面我们用递归的思想很快解决了...
使用递归和动态规划两种方式解决“不同路径数”问题
题目:求不同路径 描述:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网...
使用递归和动态规划两种方式解决“青蛙跳台阶”问题
题目:青蛙跳台阶 描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:可以使用递归,循环(迭代)法或...
寻找数组的中心下标
题目:寻找数组的中心下标 描述:给定一个整数数组nums,请编写一个能够返回数组“中心下标”的方法。 中心下标:中心下标是数组的一个下标,其左侧所有元素相...
使用双指针算法删除排序数组中的重复项
题目:删除排序数组中的重复项 描述:一个有序数组nums,原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。 要求:不能使用额外的数...
使用埃筛法解决“统计素数个数”问题
题目:统计N以内的素数 素数:只能被1和自身整除的数,0、1除外 解法2:埃氏筛 利用合数的概念(非素数),素数 * N必然是合数,因此可以从2开始遍历,将所有...
使用暴力算法解决“统计素数个数”问题
题目:统计N以内的素数 素数:只能被1和自身整除的数,0、1除外 解法1:暴力算法 直接从2开始遍历,判断是否能被2到自身之间的数整除 步骤: 1、循环除1和自...
使用递归方式解决“链表反转”问题
题目:反转链表 详细描述:给定一个单链表的头结点pHead(这个头节点是有值的,它的val是1),长度为n,反转该链表后,返回新链表的表头。 数据范围:0 ≤ n ≤ 1...