算法相关汇总
本文章列举了一些典型计算机算法面试题,系统地总结了如何在面试时写出高质量代码,如何优化代码效率,以及分析、解决难题的常用方法。具体实现语言有Java、Python两种。算法难度以简单和中等为主,困难为辅。其中比较经典的问题有:数组中重复的数字、二维数组中的查找、替换空格、从头到尾打印链表、重建二叉树、用两个栈实现队列、斐波那契数列、青蛙跳台阶、旋转数组的最小数字、矩阵中的路径、机器人的运动范围、剪绳子问题等等。
简介
列表所有题解均由开源社区 Doocs 贡献者提供,正在逐步完善中。
写在前面
定义一个单链表
1 | package carzyJava; |
定义一个二叉树
1 | package carzyJava; |
03.数组中重复的数字
1 | package carzyJava; |
04.二维数组中的查找
1 | package carzyJava; |
05.替换空格
1 | package carzyJava; |
06.从尾到头打印链表
1 | package carzyJava; |
07.重建二叉树
1 | package carzyJava; |
09.用两个栈实现队列
1 | package carzyJava; |
10- I.斐波那契数列
1 | package carzyJava; |
10- II.青蛙跳台阶问题
1 | package carzyJava; |
11.旋转数组的最小数字
1 | package carzyJava; |
12.矩阵中的路径
1 | package carzyJava; |
13.机器人的运动范围
1 | package carzyJava; |
14- I.剪绳子
1 | package carzyJava; |
14- II.剪绳子 II
1 | package carzyJava; |
15.二进制中 1 的个数
1 | package carzyJava; |
16.数值的整数次方
1 | package carzyJava; |
17.打印从 1 到最大的 n 位数
1 | package carzyJava; |
18.删除链表的节点
1 | package carzyJava; |
20.表示数值的字符串
1 | package carzyJava; |
21.调整数组顺序使奇数位于偶数前面
1 | package carzyJava; |
22.链表中倒数第 k 个节点
1 | package carzyJava; |
24.反转链表
1 | package carzyJava; |
相关文档
1 | https://github.com/doocs/leetcode |
相关文章