fFee-ops's Blog
03
07
07
剑指 Offer 53 - II. 0~n-1中缺失的数字 剑指 Offer 53 - II. 0~n-1中缺失的数字
剑指 Offer 53 - II. 0~n-1中缺失的数字 解题思路 代码 解题思路有序数组,二分搜索,注意虽然数字缺失,但是下标完整。比如0 1 2 4,对应的下标为0 1 2 3,这样可以根据下标和数字是否对应来判断缺失的区域在左
2021-03-07
07
剑指 Offer 53 - I. 在排序数组中查找数字 I 剑指 Offer 53 - I. 在排序数组中查找数字 I
剑指 Offer 53 - I. 在排序数组中查找数字 I 解题思路 代码 解题思路有序数组!直接,二分搜索 。先找到一个和target相等的数。然后返回它的下标,再从下标向两边扩散找到有无相同的数。最后返回下标的差,就是target
2021-03-07
07
剑指 Offer 52. 两个链表的第一个公共节点 剑指 Offer 52. 两个链表的第一个公共节点
剑指 Offer 52. 两个链表的第一个公共节点 解题思路 代码 解题思路链表用快慢指针 俩指针,分别指向两个链表,快指针指向长度长的那个链表,先让快指针走,走到两个链表长度相同,然后同时走,边走边判断是否相遇 代码/** * D
2021-03-07
07
剑指 Offer 51. 数组中的逆序对 剑指 Offer 51. 数组中的逆序对
剑指 Offer 51. 数组中的逆序对 解题思路 代码 解题思路一刷2021/3/7归并排序,但是大体思路还有点没理解的。 二刷2021/3/12其实就是个在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序
2021-03-07
07
07
剑指 Offer 49. 丑数 剑指 Offer 49. 丑数
剑指 Offer 49. 丑数 解题思路 代码 解题思路这题要用动态规划。 丑数只包含因子 2, 3, 5 ,因此有 “丑数 == 某较小丑数× 某因子” (例如:10 = 5*2)。所以我们要得到多大的丑数就要给每一个丑数都求出来它
2021-03-07
07
剑指 Offer 48. 最长不含重复字符的子字符串 剑指 Offer 48. 最长不含重复字符的子字符串
剑指 Offer 48. 最长不含重复字符的子字符串 解题思路 代码 解题思路套用模板即可,因为只有一个字符串,所以模板还可以简化一下,不需要need和valid。 更新窗口内数据只要更新window内该字符出现的次数就可以了。 还要
2021-03-07
07
剑指 Offer 47. 礼物的最大价值 剑指 Offer 47. 礼物的最大价值
剑指 Offer 47. 礼物的最大价值 解题思路 代码 解题思路拿现在东西的最大值和前面东西的状态有关,很容易想到动态规划。 dp数组含义: dp[i][j]代表从棋盘的左上角开始,到达单元格 (i,j)下标从0开始!! 时能拿到礼
2021-03-07
06
剑指 Offer 46. 把数字翻译成字符串 剑指 Offer 46. 把数字翻译成字符串
剑指 Offer 46. 把数字翻译成字符串 解题思路 代码 解题思路典型动态规划题目。首先定义dp数组含义:dp[i] 代表以nums[]中第i位数字为结尾的数字的翻译方案数量。 推导状态转移方程:比如数字6 2 4,手动推出应该有
2021-03-06
06
剑指 Offer 45. 把数组排成最小的数 剑指 Offer 45. 把数组排成最小的数
剑指 Offer 45. 把数组排成最小的数 解题思路 代码 解题思路此题求拼接起来的最小数字,本质上是一个排序问题。设数组 numsnums 中任意两数字的字符串为 x 和 y ,则规定 排序判断规则 为: 若拼接字符串 x +
2021-03-06
06
剑指 Offer 44. 数字序列中某一位的数字 剑指 Offer 44. 数字序列中某一位的数字
剑指 Offer 44. 数字序列中某一位的数字 解题思路 代码 解题思路主要思路就三步: 找到n应该在几位数中 找到n所在的那个数字 确定n是数字中的哪一位 具体思路理解:见这篇题解 代码class Solution {
2021-03-06
13 / 26