fFee-ops's Blog
剑指 Offer 05. 替换空格 剑指 Offer 05. 替换空格
剑指 Offer 05. 替换空格 解题思路 代码 解题思路这个很简单,用个stringbuilder即可解决 代码class Solution { public String replaceSpace(String s) {
2021-03-02
剑指 Offer 04. 二维数组中的查找 剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找 解题思路 代码 解题思路若使用暴力法遍历矩阵 matrix ,则时间复杂度为 O(NM)O(NM) 。暴力法未利用矩阵 “从上到下递增、从左到右递增” 的特点,显然不是最优解法。 我们可以发
2021-03-02
剑指 Offer 03. 数组中重复的数字 剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字 解题思路 代码 解题思路首先想到暴力解法,但是时间复杂度太高了,所以想到用map来优化,还是遍历数组,把遇到的元素的对应的次数存入map,只要次数>=2就证明出现了重复元素,直接返回即
2021-03-02
877. 石子游戏(高频题) 877. 石子游戏(高频题)
877. 石子游戏 题目 解题思路 代码 题目亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。 亚历克斯和李轮流进行,亚
2021-03-01
292. Nim 游戏(高频题) 292. Nim 游戏(高频题)
292. Nim 游戏 题目 解题思路 代码 题目你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头。你们轮流进行自己的回合,你作为先手。每一回合,轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。假设你们每
2021-03-01
990. 等式方程的可满足性(高频题) 990. 等式方程的可满足性(高频题)
990. 等式方程的可满足性 题目 解题思路 代码 题目给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“a==b” 或 “a!=b”。在这里,a 和
2021-03-01
855. 考场就座(高频题) 855. 考场就座(高频题)
855. 考场就座 题目 解题思路 代码 题目在考场里,一排有 N 个座位,分别编号为 0, 1, 2, …, N-1 。 当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上。如果有多个这样的座位,他会坐在
2021-03-01
20. 有效的括号(高频题) 20. 有效的括号(高频题)
20. 有效的括号 题目 解题思路 代码 题目给定一个只包括'(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 解题
2021-03-01
45. 跳跃游戏 II(高频题) 45. 跳跃游戏 II(高频题)
45. 跳跃游戏 II 题目 解题思路 代码 题目给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 解题思路见书379 代码c
2021-03-01
55. 跳跃游戏(高频题) 55. 跳跃游戏(高频题)
55. 跳跃游戏 题目 解题思路 代码 题目给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 解题思路从倒数第二个元素往前推,看倒
2021-03-01
26. 删除排序数组中的重复项(高频题) 26. 删除排序数组中的重复项(高频题)
26. 删除排序数组中的重复项 题目 解题思路 代码 题目给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1)
2021-03-01
83. 删除排序链表中的重复元素(高频题) 83. 删除排序链表中的重复元素(高频题)
83. 删除排序链表中的重复元素 题目 解题思路 代码 题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 解题思路和26.删除排序数组中的重复项一模一样。 代码/** * Definition for singly
2021-03-01
26 / 71