剑指 Offer 45. 把数组排成最小的数 剑指 Offer 45. 把数组排成最小的数问题输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2]输出: “102”示例 2: 输入: [3,30,34,5,9]输出: “3033459” 提示: 0 < nums.length <= 100说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数拼接起 2020-09-19 技术沉淀 leetcode
剑指 Offer 38. 字符串的排列 剑指 Offer 38. 字符串的排列问题输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = “abc”输出:[“abc”,”acb”,”bac”,”bca”,”cab”,”cba”] 限制: 1 <= s 的长度 <= 8 分析 定位:通过选择,定住左面m位字符,再 考虑后面n-m位字符;(分治) 2020-09-19 技术沉淀 leetcode
剑指 Offer 48. 最长不含重复字符的子字符串 剑指 Offer 48. 最长不含重复字符的子字符串问题请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 示例 1: 输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2: 输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3: 输入: “pwwkew”输出: 2020-09-19 技术沉淀 leetcode
剑指 Offer 51. 数组中的逆序对 剑指 Offer 51. 数组中的逆序对问题在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 12输入: [7,5,6,4]输出: 5 限制: 10 <= 数组长度 <= 50000 分析涉及数组元素两两比较,想归并排序;结合归并排序过程,求解问题。 复杂度:$T(n) = O(nlogn); 2020-09-18 技术沉淀 leetcode
背包问题集合 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210 2020-09-09 技术沉淀 leetcode