上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页
摘要: 原理: 大丑数=小丑数x丑数因子(2,3,5) 所有丑数的集合,必然是由这三个数组合并去重得到的: A:{1*2,2*2,3*2,4*2,5*2,6*2,8*2,10*2......} B:{1*3,2*3,3*3,4*3,5*3,6*3,8*3,10*3......} C:{1*5,2*5,3*5 阅读全文
posted @ 2021-02-25 14:54 zjcfrancis 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 思路:(这也是动态规划的思想) 在最低价买入,最高价卖出。 使用 min 保存最低买入价格,res 保存最大利润,遍历数组找到结果。 代码: 时间复杂度O(n),空间复杂度O(1) class Solution { public int maxProfit(int[] prices) { if (p 阅读全文
posted @ 2021-02-25 14:22 zjcfrancis 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 原理:逻辑运算符的短路效应 常见的逻辑运算符有三种,即 “与 && ”,“或 || ”,“非 ! ” ;他们都具备短路效应,如下所示: if(A && B) // 若 A 为 false ,则 B 的判断不会执行(即短路),直接判定 A && B 为 false if(A || B) // 若 A 阅读全文
posted @ 2021-02-25 01:04 zjcfrancis 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 思路1: 运用HashSet中元素不重复的性质,计算sumset = sum(set(nums)),与sumnum = sum(nums) (sumset*3 - sumnum)/2即得到结果。 原理: 设所求数字为 x,其他数字和为sumy,则sumset == x+(sumy/3),sumnum 阅读全文
posted @ 2021-02-25 00:44 zjcfrancis 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 原理:位运算 如果该整型数组中只有一个数字 x 出现一次,其他数字出现两次。 由于两个相同的数字异或后得0,若将 nums 中所有数字执行异或运算,留下的结果则为出现一次的数字 x。 思路: 题目中有两个数字只出现一次,nums 中所有数字执行异或运算后得到 x⊕y。 由于x≠y,则 x⊕y 二进制 阅读全文
posted @ 2021-02-25 00:06 zjcfrancis 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 思路: 递归回溯。 将字符串转为字符数组后,DFS搜索所有排序方案,即一次固定一个字母。 搜索时,通过swap操作来依序固定字母,得到一个排列方案,搜索后通过swap操作复原。 代码: class Solution { Set<String> list = new HashSet<>(); char 阅读全文
posted @ 2021-02-24 23:08 zjcfrancis 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 思路:前序遍历 dfs前序遍历二叉树,记录每条路径是否满足和为sum,不满足则删去该结点,回溯到上一个结点。 代码: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode le 阅读全文
posted @ 2021-02-23 20:51 zjcfrancis 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 思路: 先序遍历,递归判断。 通过先序遍历,先判断B的根节点是否等于A中的一个节点,再从这个节点开始分别判断左子树和右子树是否相同。 代码: /** * Definition for a binary tree node. * public class TreeNode { * int val; * 阅读全文
posted @ 2021-02-23 16:29 zjcfrancis 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 思路:DFS 从矩阵第一个元素开始,向左右上下进行DFS递归遍历,即沿一个方向搜到底回溯至上个节点,沿另一个方向搜索,以此类推。 其中当遇到不可能匹配成功的路径(越界,与目标元素不符等)时,可以进行剪枝,即提前返回。 应将已访问过的元素置空,即改为空字符‘ ’,防止之后的搜索中重复访问。 当匹配字符 阅读全文
posted @ 2021-02-22 22:58 zjcfrancis 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 说明: -100.0 < x < 100.0 n 是 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1] 。 思路:快速幂 原理: xn暴力解法是循环乘x,时间复杂度O(n),但这是线性复杂度的,会超时。 快速幂的原理则是将幂指数 n 进行分割,从而将其变为对数复杂度的计算。 下面 阅读全文
posted @ 2021-02-22 14:27 zjcfrancis 阅读(59) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页