加载中...

摘要: 面试题45. 把数组排成最小的数 思路 使用到了快速排序 class Solution { public String minNumber(int[] nums) { // 初始化字符串数组 String[] strs = new String[nums.length]; // 循环添加 for(i 阅读全文
posted @ 2023-01-05 22:56 Vincy9501 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 12. 矩阵中的路径 思路 DFS+回溯 class Solution { public boolean exist(char[][] board, String word) { for(int i = 0; i < board.length; i++){ for(int j = 0; j < bo 阅读全文
posted @ 2023-01-05 15:54 Vincy9501 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 18. 删除链表的节点 思路 class Solution { public ListNode deleteNode(ListNode head, int val) { if(head == null) return null; if(head.val == val) return head.nex 阅读全文
posted @ 2023-01-03 00:38 Vincy9501 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 46. 把数字翻译成字符串 思路 每个数字都有两种翻译情况,一种是和前一位数字一起被翻译,一种是单独被翻译。 **状态定义:**dp[i]表示以xi结尾的数字的翻译方案数量; 状态转移方程: f(i) = f(i - 2) + f(i - 1), xi-1xi可以被翻译 f(i) = f(i - 1 阅读全文
posted @ 2022-12-31 22:32 Vincy9501 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 42. 连续子数组的最大和 ##思路 状态定义:dp[i]表示以nums[i]结尾的连续子数组的最大和; 状态转移方程: dp[i - 1] > 0,dp[i] = dp[i - 1] + nums[i]; dp[i - 1] <= 0,dp[i] = nums[i]; 初始化: dp[0] = n 阅读全文
posted @ 2022-12-31 21:13 Vincy9501 阅读(11) 评论(0) 推荐(0) 编辑
摘要: I. 斐波那契数列 思路 使用到了动态规划,最核心的思想,就在于拆分子问题,记住过往,减少重复计算。 class Solution { public int fib(int n) { int a = 0, b = 1, sum; for(int i = 0; i < n; i++){ sum = ( 阅读全文
posted @ 2022-12-28 18:07 Vincy9501 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 26. 树的子结构 思路 不知道。。看大佬的题解 流程: 先判断B是不是以A节点为根节点的一个子树 如果不是,判断B是否是A左右子树的一个子结构 isSubTree(Ta, Tb) 判断Tb是否是以Ta为根节点的子树 class Solution { public boolean isSubStru 阅读全文
posted @ 2022-12-27 18:05 Vincy9501 阅读(15) 评论(0) 推荐(0) 编辑
摘要: #32 - I. 从上到下打印二叉树 ##思路 没有思路。。看题解 要求二叉树从上至下打印,叫做二叉树的广度优先搜索(BFS)。 BFS通常借助队列的先入先出特性实现。 算法流程: **1. 特例处理:**当树的根节点为空,则直接返回空列表 []; **2. 初始化: **打印结果列表 res = 阅读全文
posted @ 2022-12-22 18:00 Vincy9501 阅读(15) 评论(0) 推荐(0) 编辑
摘要: #04. 二维数组中的查找 ##思路 直接遍历!两个for循环 class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { for(int[] row : matrix){ for(int e : 阅读全文
posted @ 2022-12-21 13:30 Vincy9501 阅读(12) 评论(0) 推荐(0) 编辑
摘要: #03. 数组中重复的数字 ##思路 去重,很容易想到用HashSet class Solution { public int findRepeatNumber(int[] nums) { Set<Integer> s = new HashSet<>(); for(int num : nums){ 阅读全文
posted @ 2022-12-20 16:59 Vincy9501 阅读(11) 评论(0) 推荐(0) 编辑