网站首页 站内搜索

搜索结果

查询Tags标签: offer,共有 950条记录
  • 剑指 Offer 15. 二进制中1的个数

    剑指 Offer 15. 二进制中1的个数因为题目限定了是\(32\)位整数,故而我们可以枚举\(n\)的每一位即可。 \((1 << i)\)表示\(n\)的二进制数中的第\(i + 1\)位,因此我们枚举即可。 public class Solution {// you need to treat n as an unsigned valuepublic int ham…

    2022/2/5 6:13:53 人评论 次浏览
  • 剑指 Offer 65. 不用加减乘除做加法

    剑指 Offer 65. 不用加减乘除做加法计组没学好

    2022/2/5 6:13:44 人评论 次浏览
  • 剑指 Offer 56 - II. 数组中数字出现的次数 II

    剑指 Offer 56 - II. 数组中数字出现的次数 II最容易想到的自然还是map计数 class Solution {public int singleNumber(int[] nums) {Map<Integer, Integer> map = new HashMap<>();for(var num : nums) {map.put(num, map.getOrDefault(num, 0) + 1);}for(va…

    2022/2/5 6:12:35 人评论 次浏览
  • 剑指 Offer 56 - I. 数组中数字出现的次数

    剑指 Offer 56 - I. 数组中数字出现的次数最容易想到的办法自然是哈希计数,但是我们发现题目的范围给到了\(1e5\),不断的给哈希表扩容比较花时间,也需要\(O(n)\)的遍历时间,还需要开哈希表的\(O(n)\)空间。 class Solution {public int[] singleNumbers(int[] nums) {…

    2022/2/5 6:12:33 人评论 次浏览
  • 力扣剑指offer第17天 树

    47)二叉树剪枝 class Solution { public:TreeNode* pruneTree(TreeNode* root) {if(root->left) root->left = pruneTree(root->left);if(root->right) root->right = pruneTree(root->right);if(root->left==nullptr && root->right==n…

    2022/2/4 23:22:32 人评论 次浏览
  • 剑指 Offer 07. 重建二叉树

    剑指 Offer 07. 重建二叉树这里主要是要往分治上想,并且联系到中序序列和前序序列的关系。 我们知道中序序列,对于val而言,出现在val左边的值都在它的左子树上,出现在右侧的值都在它的右子树上。 那么我们考虑,遍历中序序列,将中序序列的值和其出现的索引位置映射,这…

    2022/2/4 6:14:06 人评论 次浏览
  • 剑指offer 最接近的三数之和

    力扣题目链接 6ms有点长也不知道咋优化 class Solution {public int threeSumClosest(int[] nums, int target) {int n = nums.length;//先排个序Arrays.sort(nums);//记录第一个值int ans = nums[0] +nums[1] + nums[2];for(int i=0;i<n;i++){int l = i+1,r = n-1;whi…

    2022/2/4 6:14:01 人评论 次浏览
  • 剑指 Offer 16. 数值的整数次方

    剑指 Offer 16. 数值的整数次方自然最容易想到的就是枚举了,枚举1-n,这里有个细节就是要判断n的正负,并且n也取到了Integer.MIN_VALUE,若是将其反转,就会爆int

    2022/2/4 6:14:01 人评论 次浏览
  • 剑指 Offer 33. 二叉搜索树的后序遍历序列

    剑指 Offer 33. 二叉搜索树的后序遍历序列我们首先需要注意到题目提供的是一颗BST树,所以我们可以知道这个性质,左子树 < 根节点 < 右子树。 又因为,题目给出的是后序遍历结果,所以也就是左子树->右子树->根节点。 因此我们可以尝试从后序遍历的尾部开始往…

    2022/2/4 6:13:43 人评论 次浏览
  • 剑指offer 最长公共前缀Java

    力扣题目链接 第一种1ms class Solution {public String longestCommonPrefix(String[] strs) {//求出字符数组长度,方便后边遍历int n = strs.length;if(n==0) return "";//初始化返回值String ans = strs[0];//开始遍历,从数组的第二个开始for(int i=1;i<…

    2022/2/4 1:42:32 人评论 次浏览
  • 剑指offer 数组中和为零的三个数Java

    力扣题目链接 class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res = new ArrayList<>();int n = nums.length;//剪枝,当数组小于三个时if(n<3) return res;Arrays.sort(nums);for(int i=0;i&l…

    2022/2/4 1:15:50 人评论 次浏览
  • 剑指offer 排序数组中的两数之和

    力扣题目链接 跟两数之和好像啊 于是写了一个HashMap class Solution {public int[] twoSum(int[] numbers, int target) {int[] a = new int[2];Map<Integer,Integer> map = new HashMap<>();for(int i=0;i<numbers.length;i++){if(map.get(target-number…

    2022/2/3 23:19:55 人评论 次浏览
  • 剑指offer 单词长度的最大乘积Java--二进制状态压缩

    力扣题目链接 感觉自己是真的菜。。。每次都看大佬题解 public class Solution {public int maxProduct(String[] words) {//字符数组的长度int len = words.length;//定义一个长度为字符数组长度的新数组int[] nums = new int[len];//外循环为字符数组的长度for(int i=0;…

    2022/2/3 22:14:00 人评论 次浏览
  • 剑指offer 只出现一次的数字Java

    力扣题目链接 不知道别的方法怎么样,只能想出HashMap class Solution {public int singleNumber(int[] nums) {Map<Integer,Integer> map = new HashMap<Integer,Integer>();for(int num :nums){map.put(num,map.getOrDefault(num,0)+1);}for(Map.Entry<I…

    2022/2/3 20:15:15 人评论 次浏览
  • 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

    剑指 Offer 68 - I. 二叉搜索树的最近公共祖先注意到这里给出的树是一颗BST树,所以满足有序条件,对于p,q两个节点来说,要找公共祖先且要求深度足够深,所以自然是从root开始找,如果p,q分别位于root的两侧,自然可以说明root是p,q的最近公共祖先,否则,则需要判断p,q是…

    2022/2/2 23:44:43 人评论 次浏览
扫一扫关注最新编程教程