Touale Cula's Blog

题目在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?   示例 1: 12345678输入: [  [1,3,1],  [1,5,1],  [4,2,1]]输出: 12解释: 路径 1→3→5→2→...

题目给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。   示例 1: 123输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi&quo...

题目内容输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。   示例 1: 12输入: [10,2]输出: "102" 示例 2: 12输入: [3,30,34,5,9]输出: "3033459" 提示: 10 < nums.length <= 100 解法一:暴力法1234567891011...

题目我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。   示例: 123输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。 说明:   121 是丑数。n 不超过1690。 解法一:动态规划123456789101112131415161718class...

题目请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。   示例 1: 123输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 123输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其...

输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 12345678910111213给定的树 A:     3    / \   4   5  / \ 1   2给定的树 B:   4   / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1: 12输入:A = ...

题目内容从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。   例如: 1234567891011给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]  提示: 1节点总数 <= 1000 解法一:层次遍历12345678910111213141516...

题目内容请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。   例如: 123456789给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7``` 返回其层次遍历结果: [ [3], [2...

题目内容给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。   示例 1: 12输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]] 示例 2: 12输...

一、归并排序算法思想: 将两个或两个以上的有序表组合成一个新的有序表。采用分治思想! 二路排序: 思路排序: 模拟实现: 算法实现: 123456789101112131415161718192021222324int *B = (int *)malloc((n+1)*sizeof(int));void merge(int A[],int low,int mid,int high...