Loading

随笔分类 -  数据结构和算法

1 2 3 4 5 ··· 10 下一页
没啥说的,基本功,得长期训练,保持感觉。
摘要:题目描述 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。 例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 Java public class Soulution15 { public static void main(String[ 阅读全文
posted @ 2021-03-11 15:30 Parzulpan 阅读(74) 评论(0) 推荐(0)
摘要:题目描述 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m - 1] 。 请问 k[0]k[1]...*k[m - 1] 可能的最大乘积是多少? 例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、 阅读全文
posted @ 2021-03-11 15:13 Parzulpan 阅读(48) 评论(0) 推荐(0)
摘要:题目描述 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。 请问 k[0]k[1]...*k[m-1] 可能的最大乘积是多少? 例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段 阅读全文
posted @ 2021-03-11 15:11 Parzulpan 阅读(58) 评论(0) 推荐(0)
摘要:题目描述 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。 一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格 [35, 37] 阅读全文
posted @ 2021-03-11 15:09 Parzulpan 阅读(55) 评论(0) 推荐(0)
摘要:题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。 如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径。 [["a" 阅读全文
posted @ 2021-01-04 00:06 Parzulpan 阅读(71) 评论(0) 推荐(0)
摘要:题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1: 输入:[3,4,5,1,2] 输出:1 示例 2: 输入 阅读全文
posted @ 2021-01-04 00:05 Parzulpan 阅读(67) 评论(0) 推荐(0)
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 说明 Java public class Solution10_1 { publ 阅读全文
posted @ 2021-01-02 10:17 Parzulpan 阅读(106) 评论(0) 推荐(0)
摘要:题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出 阅读全文
posted @ 2021-01-02 10:16 Parzulpan 阅读(135) 评论(0) 推荐(0)
摘要:题目描述 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , 分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: ["CQueue","appendTail" 阅读全文
posted @ 2021-01-02 00:25 Parzulpan 阅读(76) 评论(0) 推荐(0)
摘要:题目描述 给定一颗二叉树和其中的一个节点,找出中序遍历序列的下一个节点。树中的节点除了有两个分别指向左右节点的指针,还有一个指向父节点的指针。 Java public class Solution08 { public static void main(String[] args) { } /** 阅读全文
posted @ 2021-01-02 00:24 Parzulpan 阅读(92) 评论(0) 推荐(0)
摘要:题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例: 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / 9 20 / 15 7 阅读全文
posted @ 2021-01-02 00:22 Parzulpan 阅读(72) 评论(0) 推荐(0)
摘要:题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 ⇐ 链表长度 ⇐ 10000 Java public class Solution06 { public static void main 阅读全文
posted @ 2020-12-31 00:05 Parzulpan 阅读(52) 评论(0) 推荐(0)
摘要:题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 ⇐ s 的长度 ⇐ 10000 Java public class Solution05 { public st 阅读全文
posted @ 2020-12-30 23:56 Parzulpan 阅读(83) 评论(0) 推荐(0)
摘要:题目描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [[1, 4, 7, 11, 15], [2, 5, 8, 阅读全文
posted @ 2020-12-30 23:54 Parzulpan 阅读(75) 评论(0) 推荐(0)
摘要:题目描述 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 阅读全文
posted @ 2020-12-23 11:10 Parzulpan 阅读(74) 评论(0) 推荐(0)
摘要:// C++ #include<iostream> using namespace std; //链表的定义 struct ListNode { int val; ListNode* next; ListNode(int n) :val(n), next(nullptr) {} }; //链表的打印 阅读全文
posted @ 2020-07-28 23:27 Parzulpan 阅读(117) 评论(0) 推荐(0)
摘要:题目描述 解题思路 思路一:裴蜀定理-数学法 由题意,每次操作只会让桶里的水总量增加x或y,或者减少x或y,即会给水的总量带来x或y的变化量,转为数字描述即为:找到一对整数a,b使得下式成立: ax+by=z 分析知,要完成操作,需要满足: z<=x+y(a,b存在) 由裴蜀定理: z是x,y的最大 阅读全文
posted @ 2020-03-21 21:17 Parzulpan 阅读(276) 评论(0) 推荐(0)
摘要:重点 查找算法着重掌握:顺序查找、二分查找、哈希表查找、二叉排序树查找。 排序算法着重掌握:冒泡排序、插入排序、归并排序、快速排序。 顺序查找 算法说明 顺序查找适合于存储结构为顺序存储或链接存储的线性表。 算法思想 顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依 阅读全文
posted @ 2019-07-28 12:32 Parzulpan 阅读(471) 评论(0) 推荐(0)
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 编程思想 因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级跳1级,剩下n-1级,则剩下跳法是f(n-1)跳2级,剩下n-2级,则剩下跳法是f(n-2)所以f(n)=f(n 阅读全文
posted @ 2019-07-28 11:49 Parzulpan 阅读(222) 评论(0) 推荐(0)
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 编程思想 对于本题,前提只有 一次 1阶或者2阶的跳法。a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1);b.假定第 阅读全文
posted @ 2019-07-28 11:47 Parzulpan 阅读(218) 评论(0) 推荐(0)

1 2 3 4 5 ··· 10 下一页