Touale Cula's Blog

前言从这里开始,题目开始变难了啊! 题目给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。   例如,在下面的 3×4 的矩阵中包含单词 “ABCC...

题目内容给你一根长度为 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的三段,此时得到的最大乘积是18。 示例 1: 123输入: 2输出: 1解释: 2 = 1 + 1,...

题目内容地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8...

题目输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: 12Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7] 示例 2: 12Input: preorder = [-1], ino...

题目内容0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。   示例 1: 12输入: n = 5, m = 3输出: 3 示例 2: 12输...

题目内容输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。   示例 1: 12输入:target = 9输出:[[2,3,4],[4,5]] 示例 2: 12输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]] 限制: 11 <= targ...

前言交换排序主要分为:简单选择排序和堆排序 思想:每一趟在待排序元素中选取关键字最小的元素。 应用:点名,哈希碰撞排序(统计词频) 一、简单选择排序算法思想: 太简单了,还是看代码更快吧! 算法实现 123456789void sort(int A[],int n){ for(int i = 0;i < n-1 ;i++){ min = i...

前言交换排序主要分为:冒泡排序和快速排序 思想:将序列中的两个元素关键字进行比较,后交换两个记录在序列中的位置 应用:队伍排队 一、冒泡排序算法思想: 初始化下标为最后第一个,从后往前(或从前往后)两两比较相邻的元素,若(A[i-1]>A[i]),则进行交换 下标往前移动 模拟实现: - - - - - - - 49 13 13 13 13 13 13 38 ...

前言插入排序主要分为:直接插入排序、折半插入排序、希尔排序 思想:每步将一个待排序对象与前面已排序序列进行比较并插入到适当的位置上。 应用:打扑克牌、打麻将时你所用到的排序方法 一、直接插入排序算法思想: 当存在一个待排序表,$L[1…n]$,某状态下: 有序序列$L[1…i-1]$ $L[i]$ 无序序列$L[i+1…n]$ 查找$L[i]$在$L[1…i-1]$中的插入位...

框架排序分为内部排序和外部排序 内部排序 插入排序 1.直接插入排序 2.折半插入排序 3.希尔排序 交换排序 1.冒泡排序 2.快速排序 选择排序 1.简单选择排序 2.堆排序 归并排序 基数排序 外部排序 多路归并排序 简解该章节起,会对数据结构的排序进行一系列的总结和磨合,细节如下 序号 栏目 1 插入排序 2 交换排序 3 选择排序 ...