摘要:
请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 解题思路:这道题用无符号移位符(>>>),不要用普通的移位运算符(>>),要不出错,很奇怪 阅读全文
posted @ 2020-05-05 21:54
BeeeenWei
阅读(134)
评论(0)
推荐(0)
摘要:
给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] 。请问 k[0]*k[1]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘 阅读全文
posted @ 2020-05-05 21:54
BeeeenWei
阅读(120)
评论(0)
推荐(0)
摘要:
输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 解题思路:深度优先+回溯思想 阅读全文
posted @ 2020-05-05 21:49
BeeeenWei
阅读(128)
评论(0)
推荐(0)
摘要:
在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。 返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。 解题思路1:采用BFS 阅读全文
posted @ 2020-05-05 21:48
BeeeenWei
阅读(211)
评论(0)
推荐(0)
摘要:
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串"bfce"的路径(路径中的字母用加粗标出) 阅读全文
posted @ 2020-05-05 21:48
BeeeenWei
阅读(102)
评论(0)
推荐(0)
摘要:
斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式::F(n)=F(n-1)+F(n-2) 递归方法,比较简洁 注意:递归会产生很多数组对象,造成空间和时间的浪费,所以如果 阅读全文
posted @ 2020-05-05 21:47
BeeeenWei
阅读(182)
评论(0)
推荐(0)
摘要:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 解题思路:老老实实把字符串转成一个字符数组,然后挨个进行判断是不是等于空格,用StringBuilder装新字符串 别用StringBuilder的insert方法,这个方法需要指定插入的位置 阅读全文
posted @ 2020-05-05 21:46
BeeeenWei
阅读(95)
评论(0)
推荐(0)
摘要:
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 解法1:先排序之后移位相减,得数为0说明是重复的 解法2:用HashSet,存入相同元素的时候HashSet会返 阅读全文
posted @ 2020-05-05 21:45
BeeeenWei
阅读(84)
评论(0)
推荐(0)
摘要:
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 解题思路:这道题就是用两个栈,第一个栈正常存,当取的时候判断第二个栈是否为空 阅读全文
posted @ 2020-05-05 21:44
BeeeenWei
阅读(109)
评论(0)
推荐(0)
摘要:
输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 这道题我的思路是,为每一路径都设置一个集合,当到头的时候判断和是否为目标值,是的话把这个集合添加到大集合中 要点: 集合要进行拷贝——new ArrayList(lis 阅读全文
posted @ 2020-05-05 21:43
BeeeenWei
阅读(132)
评论(0)
推荐(0)
摘要:
给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。 初始化 A 和 B 的元素数量分别为 m 和 n。 解题思路: 1.这道题折磨了我很久,感觉自己的方法非常愚蠢还跑不通。直到看到了下面的解法。因为两个数组都是排序好的,那么就可以 阅读全文
posted @ 2020-05-05 21:40
BeeeenWei
阅读(131)
评论(0)
推荐(0)
摘要:
反转一个单链表。 方法1(迭代):设置两个节点,分别是头结点和头结点前面的节点,然后循环迭代就好了 方法2(递归) 看LeetCode大神总结了递归三部曲,记录一下: 找到递归出口 确定返回值 分析单次递归要做的事情 阅读全文
posted @ 2020-05-05 21:39
BeeeenWei
阅读(95)
评论(0)
推荐(0)
摘要:
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 题解:因为是搜索二叉树,所以很简单,如果两个树都小于根节点,说明在根节点的左子树上,如果都大于根节点,说明在右子树上,如果一大一小,说明根节点就是找的那个点 阅读全文
posted @ 2020-05-05 21:38
BeeeenWei
阅读(145)
评论(0)
推荐(0)
摘要:
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 阅读全文
posted @ 2020-05-05 21:37
BeeeenWei
阅读(99)
评论(0)
推荐(0)
摘要:
从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 这道题还是用队列,但是其巧妙的地方在于:队列的大小代表每行的个数(第一行是给定大小,所以只弹出一个,但是再往队列里填几个就代表下一行的大小) 阅读全文
posted @ 2020-05-05 21:36
BeeeenWei
阅读(124)
评论(0)
推荐(0)
摘要:
请完成一个函数,输入一个二叉树,该函数输出它的镜像。 阅读全文
posted @ 2020-05-05 21:35
BeeeenWei
阅读(140)
评论(0)
推荐(0)
摘要:
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 方法1: 这个方法无敌愚蠢,但是是我自己想出来的hhh,就是简单的层序遍历,用两个queue,一个正常存,一个先存右后存左,然后判断每次从queue弹出的两个元素的值是否相同 方法2: 递归算法,看左数和 阅读全文
posted @ 2020-05-05 21:34
BeeeenWei
阅读(112)
评论(0)
推荐(0)

浙公网安备 33010602011771号