
剑指offer
@阿秋
这个作者很懒,什么都没留下…
展开
-
《剑指offer》Java版--15.二进制中1的个数
统计整数n的二进制形式中的1。常规解法,进行二进制转换的同时统计余数。最优解利用n&(n-1)的特性移除n二进制形式中最后一个1。原创 2024-01-02 11:57:16 · 383 阅读 · 0 评论 -
《剑指offer》Java版--14.剪绳子
剑指offer原题14:剪绳子给你一根长度为n的绳子,请把绳子剪成m段(mn都是整数n>1并且m>1),每段绳子的长度记为O],[1],·-,[m]。请问O]xk[1]x···Xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是 18。原创 2023-12-27 23:16:19 · 429 阅读 · 0 评论 -
《剑指offer》Java版--13.机器人的运动范围(BFS)
剑指offer原题13:机器人的运动范围地上有一个m行n列的方格。一个机器人从坐标(0,0)的格子开始移动,它每次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7=18。但它不能进入方格(35,38),因为3+5+3+8=19。请问该机器人能够到达多少个格子?原创 2023-12-22 20:49:02 · 721 阅读 · 0 评论 -
《剑指offer》Java版--12.矩阵中的路径(DFS+剪枝)
剑指offer原题12:矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfee”的路径(路径中的字母用下画线标出)。但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入这个格子原创 2023-12-21 14:58:01 · 1146 阅读 · 0 评论 -
《剑指offer》Java版--10.求斐波那契数列的第n项。
剑指offer原题:求斐波那契数列的第n项。原创 2023-12-19 20:59:41 · 436 阅读 · 1 评论 -
《剑指offer》Java版--9.用两个栈实现队列
剑指offer原题:用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和 deleteHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。原创 2023-12-19 20:38:38 · 429 阅读 · 1 评论 -
《剑指offer》Java版--7.重建二叉树(分治)
根据前序和中序遍历、中序和后序遍历重建树原创 2023-12-15 21:33:04 · 362 阅读 · 0 评论 -
《剑指offer》Java版--6.从头到尾打印链表
输入一个链表的头节点,从尾到头反过来打印出每个节点的值原创 2023-12-14 23:52:43 · 425 阅读 · 1 评论 -
《剑指offer》Java版--4.二维数组中的查找
剑指offer原题4:二维数组中的查找.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。原创 2023-12-08 20:49:04 · 403 阅读 · 0 评论 -
《剑指offer》Java版--5.替换空格
剑指offer原题5:替换空格请实现一个函数,把字符串中的每个空格替换成"%20"。例如,输入“We are happy.”,则输出“We%20are%20happy.”。原创 2023-12-09 14:15:00 · 343 阅读 · 0 评论 -
《剑指offer》Java版--3.数组中重复的数字(哈希表,原地排序,二分)
用哈希表记录每个数字出现的次数,当遍历数组时,如果当前数字在哈希表中已有记录(if(mp[i] > 0)),说明重复了直接返回,反之这个数字出现次数加1(mp[i]++)。如果不是,找到 arr[i] 这个数应该存储的位置(即数组下标为 arr[i] 的位置),是否有保存了 arr[i] 这个值。判断数组下标为 i 的位置保存的数字 arr[i] 是否等于 i,即 arr[i] == i?如果没有,就把 arr[i] 放到它应该在的位置,即 arr[arr[i]] = arr[i];原创 2023-12-07 14:06:50 · 390 阅读 · 1 评论