数据结构
记录自己的学习历程
Bela.
在校学生一枚
展开
-
剑指 Offer II 005. 单词长度的最大乘积
记一道位运算的题目给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。链接:https://leetcode-cn.com/problems/aseY1I其中一个用法 ,一个字符串所包含的字符可以表示为二进制的形式。如 abc 就是 111 , bcd就是1110.对于bcd tmp |= 1<< b-...原创 2022-03-07 21:37:58 · 146 阅读 · 0 评论 -
剑指 Offer II 003. 前 n 个数字二进制中 1 的个数
剑指 Offer II 003. 前 n 个数字二进制中 1 的个数原创 2022-03-04 14:50:49 · 472 阅读 · 0 评论 -
leetcode 994:腐烂的橘子 java
994. 腐烂的橘子 - 力扣(LeetCode) (leetcode-cn.com)这是一道广度优先搜索的题目,初始的所有的腐烂橘子,等价于广度优先搜索的同一层,然后对每一层进行搜索:class Solution { public int orangesRotting(int[][] grid) { int[] x = new int[]{-1,1,0,0}; int[] y = new int[]{0,0,-1,1}; // 当前坐标的上下左右四个原创 2022-02-17 11:12:21 · 617 阅读 · 0 评论 -
leetcode 167:两数之和
有序数组,找出两数之和等于target输入:numbers = [2,7,11,15], target = 9输出:[1,2]解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。leetcode 链接:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted针对有序数组的输入,使用双指针,时间复杂度O(n),空间复杂度O(1):class Sol.原创 2022-02-10 10:20:10 · 328 阅读 · 0 评论 -
leetcode 704. 二分查找JAVA
二分查找有两种实现方式,迭代和递归,其时间复杂度为.主要思想是将目标值与数组的中间值做对比,若小于中间值,则在数组的前半段找,否则在后半段找。1、迭代法不会增加多余的内存空间,java代码如下:class Solution { public int search(int[] nums, int target) { int left = 0; int right = nums.length-1; while(left <= right){原创 2022-02-08 10:56:44 · 750 阅读 · 0 评论