03 2022 档案
摘要:整数除法 问题重述: 给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 '*'、除号 '/' 以及求余符号 '%' 。 注意: 整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -
阅读全文
摘要:二进制加法 问题重述: 给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。 输入为 非空 字符串且只包含数字 1 和 0。 示例 1: 输入: a = "11", b = "10" 输出: "101" 示例 2: 输入: a = "1010", b = "1011"
阅读全文
摘要:前n个数字种的二进制数中的1的个数 问题重述: 给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。 示例 1: 输入: n = 2 输出: [0,1,1] 解释: 0 --> 0 1 --> 1 2 --> 10 示例 2: 输入: n = 5 输
阅读全文
摘要:找到搜索二叉树中的错误结点 问题重述: 一个二叉搜索树,其中的两个结点位置发生了互换,先给出二叉树的根节点,要求得到两个错误的结点 问题分析: 因为二叉搜索树的结构满足,当前节点大于左子节点小于右子结点,使用中序遍历的时候,得到的值是升序的,二叉树中的两个结点换了位置,那么一定会导致中序遍历得到的值
阅读全文
摘要:找到二叉树中的最大搜索二叉树(树形BP) 问题重述: 给定一颗二叉树的头节点root,已知其中所有结点的值都不一样,找到含有节点最多的搜索二叉子树 问题分析: 我们可以每一个结点进行判断,最后得到所有结点中最大的哪一个 解法: 树形BP(递归) 解题: 代码: public class Return
阅读全文
摘要:和为k的最大子数组长度(前缀和) 问题重述: 给定一个数组arr,该数组无序,每一个元素均为正数,在给定一个正整数k,求arr的所有子数组中所有元素相加和为k的最长子数组的长度 例如:arr = [1,2,1,1,1],k=3,累加和为3的最长子数组为[1,1,1],所以返回结果3 问题分析: 求最
阅读全文
摘要:在二叉树中找到累加和为指定值的最长路径(前缀和) 问题重述: 给定一颗二叉树和一个整数 sum,求累加和为 sum 的最长路径长度。路径是指从某个节点往下,每次最多选择一个孩子节点或者不选所形成的节点链 问题分析: 求和为指定值的最长路径,我们可以把每一条路径看作一个数组,然后对他进行求指定值,使用
阅读全文
摘要:和为 K 的子数组 问题重述: 给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k 的连续子数组的个数 示例 1: 输入:nums = [1,1,1], k = 2 输出:2 示例 2: 输入:nums = [1,2,3], k = 3 输出:2 提示: 1 <= nums
阅读全文