
算法
secowo
这个作者很懒,什么都没留下…
展开
-
剑指offer之矩阵中的路径
问题描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如[abcesfcsadee] \begin{bmatrix} a & b & c &e \\ s & f & c & s \\ a & d & e& e\\ \end{bmatri原创 2020-12-18 11:14:46 · 138 阅读 · 0 评论 -
剑指offer之找到第一个公共节点
题目概述输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)解题思路假设右连个链表A和B,存在着相同的公共节点A与B节点到公共节点的长度不同,设A的长度为a,B的长度为b,则有 a+b == b+a代码实现为:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.原创 2020-11-10 20:47:22 · 116 阅读 · 0 评论 -
剑指offer之平衡二叉树
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树解题思路首先我们要了解平衡二叉树是什么?平衡二叉树是空树或者树的左右子树的高度之差不大于1,已经左右子树都为平衡树,这个树才能称之为平衡二叉树。上图中,只有右边的树才能是平衡二叉树。因为左边的树的节点2与节点7的高度之差为2,所以不是平衡二叉树。容易出错的点我把平衡二叉树的概念搞错了,我把节点的左右子树的高度之差理解为了左右子树节点总数之差。要注意平时对数据结构概念的理解!!!原创 2020-11-10 20:26:00 · 147 阅读 · 0 评论 -
剑指offer之打印二叉搜索树中第k小的结点
题目概述给定一棵二叉搜索树,请找出其中的第k小的结点。解题思路一开始我没有注意到二叉搜索树这个词,我还是以为是一个普通的二叉树,所以我就按照我的想法,将二叉树的节点放入到一个数组中。我的解题的思路由于一开始我没有注意到二叉搜索树这个概念,所以的我的思路是按照普通二叉树的查找进行的,具体思路如下所示:首先判断当前节点是否为空,k是否小于0.如果为真,则返回的是null新建一个长度为k个数组,这个数组中将按照Node的val进行排序,排序函数为moveArrmoveArr函数中定义了将节点按照原创 2020-11-09 22:30:13 · 161 阅读 · 0 评论 -
剑指offer之打印超过数组一半的数字
问题描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解题思路该问题有很多种解法,其中包括了使用HashMap、排序与候选法进行解题。这里主要是讲解有关于使用候选法来解决这道算法问题。候选法一开始,我在看到这个问题的第一反映是通过哈希表来解决这个问题。当我使用了HashMap方法解决了这个问题之后,我觉得这道题应该不是考察使用哈希表来原创 2020-11-09 21:30:08 · 139 阅读 · 0 评论 -
剑指offer之顺序打印矩阵
算法的要求为:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 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.解题的思路为:要求顺时针打印矩阵,打印的顺序为顶部一行(从左到右)右侧一列(从上到下)底部一行(从右到左)左侧一行(从下到上)具体的打印矩阵的顺序为如下图所示:遇到的问题我之前在写这个算法的过程中遇到了原创 2020-11-09 20:58:33 · 228 阅读 · 1 评论 -
数据结构与算法之排序学习笔记
排序算法:内部排序:指将需要处理的所有的数据都加载到内部存储器中进行排序外部排序:当数据量过大,无法全部加载到内存中,需要借助外部存储器进行排序常见的算法分类:5.1 冒泡排序基本思想:通过对待排序从前往后(从下标小的元素开始),依次比较相邻的元素的值,如是发现逆序则交换,使值较大的元素逐渐从前移向后部,像水底的起跑一样。总结规则:一共进行n-1次大循环(数组中有n个元素)每一次排序的元素在逐渐的减少如果在某次排序的过程中,没有发生一次交换,说明排序已经完成了pu原创 2020-11-07 21:00:06 · 257 阅读 · 0 评论