自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 剑指 Offer 13. 机器人的运动范围

算法记录LeetCode 题目:地上有一个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。请问该机器人能够到达多少个格子?算法记录说明一、题目二、分析说明一、题目

2022-05-23 09:27:57 78

原创 剑指 Offer 14- I. 剪绳子

算法记录LeetCode 题目:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。算法记录说明一、题目二、分析说明一、题目给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数

2022-05-21 14:23:40 119

原创 剑指 Offer 12. 矩阵中的路径

算法记录LeetCode 题目:算法记录说明一、题目二、分析说明一、题目二、分析

2022-05-21 12:58:15 89

原创 剑指 Offer 07. 重建二叉树

算法记录LeetCode 题目:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。算法记录说明一、题目二、分析说明一、题目输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。二、分析递归函数的参数三个,分别为前序遍历中的根节点、这个根节点开始的前序遍历的左边界,这个根节点开始的前序遍历的右边界 ...

2022-05-20 22:54:37 176

原创 二分模板题 LC704

二分查找模板题

2022-05-14 08:55:36 60

原创 594. 最长和谐子序列

594. 最长和谐子序列双指针+ 滑动窗口class Solution { public int findLHS(int[] nums) { Arrays.sort(nums); int left = 0; //左指针 int right = 1; //右指针 int result = 0; for (; right < nums.length; right++) { // 当.

2022-04-12 12:15:36 33

原创 187. 重复的DNA序列

187. 重复的DNA序列class Solution { public List<String> findRepeatedDnaSequences(String s) { List<String> list = new ArrayList<>(); Map<String, Integer> map = new HashMap<>(); for (int i = 10; i <=

2022-04-10 10:10:52 88

原创 3. 无重复字符的最长子串

3. 无重复字符的最长子串给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。class Solution { public int lengthOfLongestSubstring(String s) { // 双指针 + 哈希map int left = 0; int right = 0; Map<Character, Integer> map = new HashMap<>();...

2022-04-07 15:38:00 46

原创 剑指 Offer 58 - II. 左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出: "cdefgab"class Solution { public String reverseLeftWords(String s, int n) { char[] ch = s.toCharArr

2022-04-06 09:06:11 34

原创 416. 分割等和子集 (0-1背包问题)

给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例 1:输入:nums = [1,5,11,5]输出:true解释:数组可以分割成 [1, 5, 5] 和 [11] 。class Solution { public boolean canPartition(int[] nums) { // 将数组求和 int sum = 0; for (int num : n

2022-04-05 11:53:12 236

原创 135. 分发糖果

class Solution { public int candy(int[] ratings) { //两次局部最优 左向右贪心一次 右向左贪心一次 int[] candyVec = new int[ratings.length]; // 计算第一次贪心 记录在candyVec 比左边大就行(即+1) candyVec[0] = 1; for (int i = 1; i < ratings.length;...

2022-04-04 09:07:30 41

原创 134. 加油站

class Solution { public int canCompleteCircuit(int[] gas, int[] cost) { int cur = 0; int sum = 0; int index = 0; //记录出发时加油站编号 for (int i = 0; i < gas.length; i++) { cur += gas[i] - cost[i]; ...

2022-04-04 08:32:01 228

原创 77. 组合

77. 组合https://leetcode-cn.com/problems/combinations/回溯法一般是在集合中递归搜索,集合的大小构成了树的宽度,递归的深度构成的树的深度class Solution { List<List<Integer>> resultList = new ArrayList<>(); List<Integer> list = new ArrayList<>(); pu..

2022-04-03 09:54:25 369

原创 344. 反转字符串

class Solution { // 双指针 public void reverseString(char[] s) { int left = 0;//起始指针 int right = s.length - 1;//尾指针 char temp = ' '; while (left < right) { temp = s[left]; s[left] = s[right...

2022-04-02 09:36:41 382

原创 17. 电话号码的字母组合

回溯算法电话号码的字母组合

2022-04-02 09:19:52 70

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除