
算法
SUNBO、
好记性不如烂键盘
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构 栈(一)数组实现
文章目录栈(Stack)栈的类型定义数组实现栈(Stack)栈是限定仅在表尾进行插入或者删除操作的线性表。栈又称作后进先出(Last In First Out,LIFO)的线性表。在生活中有很多例子。例如,放在桌子上的一摞纸,每次使用时从上往下依次取用。栈的类型定义 public interface Stack<E> { int getSize(); ...原创 2019-03-31 22:28:10 · 472 阅读 · 0 评论 -
排序(一)-选择排序
原理:首先,找到数组中最小的元素,将他与数组中第一个元素交换。然后在剩下的元素中找到最小的元素,将他与数组的第二个元素交换。依次重复此操作,知道将整个数组排序。总的来说,选择排序是一种很容易理解和实现的简单算法代码:/*首先在未排序的数组中寻找最小元素,找到后与第一位进行交换,然后再剩下的序列中继续寻找最小的元素,找到后与第二位进行交换。时间复杂度 O(n^2)*/publi...原创 2019-03-28 11:29:23 · 520 阅读 · 0 评论 -
排序(二)-插入排序
简介在生活中我们玩扑克牌时,当我们每拿到一张新的牌,会将他按照大小插入到对应的位置。为了找到这个对应的位置,我们通常将它与手中已经排好序的牌从到左进行比较。直到找到对应的位置。这就是插入排序的基本思想。代码public class Code_01_InsertionSort { public static void insertionSort(int[] arr) { ...原创 2019-03-28 16:53:37 · 151 阅读 · 0 评论 -
codingInterview 递归 —跳台阶
文章目录跳台阶【标签】【题目】【分析】【解答】方法一 O(2^N^)方法二 O(N)跳台阶【标签】递归【题目】一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)【分析】如果台阶只有1级,方法只有一种。如果台阶有2级,方法有两种。如果台阶有N级,最后跳上第N级的情况,要么是从N-2级台阶直接跳2级台阶,要么是从N-1...原创 2019-07-15 23:02:45 · 546 阅读 · 0 评论 -
顺时针打印矩阵
顺时针打印矩阵【题目】给定一个矩阵matrix,请按照顺时针的方式打印它。例如:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 打印结果为:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10##【解答】本体上算法没有难度,关键在于设计一种容易理解、代码易于实现的方式。我们...原创 2019-07-25 23:20:38 · 242 阅读 · 0 评论 -
快速幂
快速幂个人博客:https://sgeekioi.github.io/2019/07/31/fastpower/#more【介绍】顾名思义,快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。【描述】计算a的n次方就是将n个a乘起来an=a×a×a...×a⎵n个aa^n = \underbrace{a \times a \times...原创 2019-07-31 16:14:44 · 189 阅读 · 0 评论 -
合并两个有序的单链表
合并两个有序的单链表【题目】给定两个有序单链表head1和head2,请合并两个两个有序链表,合并后的链表依然有序,并返回合并后链表的头节点。例如:0->2->3->7->null1->3->5->7->9->null合并后的链表为:0->1->2->3->3->5->7->7->9...原创 2019-07-27 16:08:41 · 492 阅读 · 0 评论 -
合并两个有序链表
合并两个有序链表【题目】给定两个有序单链表的头节点head1和head2,请合并两个有序链表,合并后的链表依然有序,并返回合并后的头节点例如:0->2->3->7->null1->3->5->7->9->null合并后的链表为:0->1->3->3->5->7->7->9->null...原创 2019-09-27 00:18:09 · 131 阅读 · 0 评论 -
回文数
回文数【题目】判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它...原创 2019-09-27 00:19:43 · 152 阅读 · 0 评论