Tag - 算法与数据结构
J.A.R.V.I.S
Life is not just Live
LSM-Tree
9月 10 · 1 min
跳跃游戏2-LeetCode45
题目描述
链接: https://leetcode-cn.com/problems/jump-game-ii/
给定一个非负整数数组nums, 最初位于数组的第一个位置. 数组中的每个元素代表你在该位置上可以跳跃的最大长度.
你的目标是使用最少的跳跃次数到达数组的最后一个位置. 求最少需要跳跃几次, 假设总是可以到达数组的最后一个位置.
示例1:
输入: nums = [2, 3, 1, 1, 4]
输出: 2
从下标0跳到下标1, 再从下标1跳3步到最后一个位置. 总共跳跃2次
示例2:
输入: nums = [2, 3, 0, 1, 4]
输出: 2
4月 14 · 1 min
跳跃游戏-LeetCode55
题目描述
链接: https://leetcode-cn.com/problems/jump-game/
给定一个非负整数数组nums, 你最初位于数组的第一个下标, 数组中的每个元素代表你在该位置可以跳跃的最大长度.
判断你是否能够到达最后一个下标
示例1:
输入: nums=[2, 3, 1, 1, 4]
输出: true
可以先从下标0走1步到下标1, 然后从下标1走3步到最后一个下标
示例2:
输入: nums = [3, 2, 1, 0, 4]
输出: false
无论怎么走, 都会走到下标3的位置, 到了这里无法在继续往前走. 所以不可能到达最后一个坐标
4月 14 · 2 min
和为s的两个数组-LeetCode57
题目描述
链接: https://leetcode-cn.com/problems/he-wei-sde-liang-ge-shu-zi-lcof/
输入一个递增排序的数组和一个数字s, 在数组中查找两个数, 使得它们的和正好是s, 如果有多对数字的和都等于s, 则输出任意一对即可.
示例1:
输入:nums = [2,7,11,15], target = 9
输出:[2,7] 或者 [7,2]
示例2:
输入:nums = [10,26,30,31,47,60], target = 40
输出:[10,30] 或者 [30,10]
4月 13 · 1 min
翻转单词顺序-LeetCode58
题目描述
链接: https://leetcode-cn.com/problems/fan-zhuan-dan-ci-shun-xu-lcof/
输入一个英文句子, 翻转句子中单词的顺序, 但单词内字符的顺序不变. 标点符号和普通字母一样处理. 例如输入字符串”I am a student.”, 输出应该为”student. a am I”
示例1:
输入 : “the sky is blue”
输出 : “blue is sky the”
示例2:
输入 : “ hello world! “
输出 : “world! hello”
忽略字符串前后的空格
示例3:
输入: “a good example”
输出: “example good a”
如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
4月 13 · 2 min
矩阵中的路径-剑指Offer LeetCode12
题目描述
链接: https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/
给定一个存储字母的m*n二维数组和一个字符串单词word. 如果word存在与二维数组中, 返回true, 否则返回flase
单词必须按照字母顺序, 通过相邻的单元格内的字母构成, 其他”相邻”单元格是那些水平相邻或垂直相邻的单元格. 同一个单元格内的字母不允许被重复使用.
例如, 在下面的3*4的矩阵中包含单词”ABCCED”
示例1:
输入: borad = [ [“A”, “B”, “C”, “E”], [“S”, “F”, “C”, “S”], [“A”, “D”, “E”, “E”], [“A”, “D”, “E”, “E”]], word = “ABCCED”
输出: true
示例2:
输入:board = [[“a”,”b”],[“c”,”d”]], word = “abcd”
输出:false
3月 25 · 2 min
机器人的运动路径- 剑指Offer LeetCode13
题目描述
链接: https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/
地上有一个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=19. 求机器人能够到达多少个格子.
3月 24 · 2 min
扑克牌中的顺子-剑指Offer LeetCode61
题目描述
链接: https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof/
从若干幅扑克牌中随机抽5张牌, 判断是不是一个顺子, 即这五张牌是不是连续的. 2~10为数字本身, A为1, J为11, Q为12, K为13. 大小王为0, 并且可以看出任意数字
示例1:
输入: [1,2,3,4,5]
输出: true
示例2:
输入: [0,0,1,2,5]
输出: true. 由于两个0可以代替为3和4, 所以可以构成顺子
3月 23 · 1 min
把数组排成最小的数-剑指Offer LeetCode45
题目描述
链接: https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/
输入一个非负整数数组, 把数组里所有数字拼接起来排出一个数, 打印能拼接出的数字中最小的一个.
示例1:
输入: [10, 2]
输出: “102”. 两个数字的排列可能为102, 210. 由于102小, 所以结果为102.
示例2:
输入: [3, 30, 34, 5, 9]
输出: ”3033459“
3月 23 · 2 min
IPV4与Int的转换
1月 05 · 1 min