bloodfire
bloodfire
全部文章
分类
刷题(146)
知识点(10)
读书笔记(25)
题解(49)
归档
标签
去牛客网
登录
/
注册
bloodfire的博客
全部文章
(共230篇)
4/23剑指offer
1.数组中数值和下标相等的元素假设一个单调递增数组里的每个元素都是整数并且是唯一的。请找出数组中任意一个数值等于其下标的元素。思路:利用二分查找。假设找到的数字的值大于他的下标,由于数组中数字唯一且单调递增,因此这个数字右面的数字都应该大于各自对应的下标,答案在左面。同理,加入找到数字的值小于它的下...
2020-04-23
0
0
4/23题解
1.硬币问题。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)示例1:输入: n = 5输出:2解释: 有两种方式可以凑成总金额:5=55=1+1+1+1+1示例2:输入: n = 10输出:4解释: 有四种...
2020-04-23
0
775
4/22剑指offer
1.在排序数组中查找数字(1)数字在排序数组中出现的次数给一个排序数组,一个数字,查找这个数字出现的次数。要求ologn。思路:利用二分查找算法,分别确定重复出现的第一个k和最后一个k。 int GetFirstK(int *data,int length,int k,int start,int e...
2020-04-22
0
0
4/22题解
1.二叉树的右视图给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:思路一:深度优先搜索---对树进行深度优先搜索,在搜索过程中,总是先访问右子树。那么对于每一层来说,在这...
2020-04-22
0
502
4/21剑指offer
1.两个链表的第一个公共节点思路:首先遍历两个链表得到他们的长度,就能知道哪个链表比较长,以及长的链表比短的链表多几个节点。在第二次遍历的时候,在较长的链表上先走若干步,接着同时在两个链表上遍历,找到的第一个相同的节点就是他们的第一个公共节点。 /* struct ListNode { in...
2020-04-21
0
0
4/21题解
1.优美子数组给你一个整数数组 nums 和一个整数 k。如果某个连续 数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。示例 1:输入:nums = [1,1,2,1,1], k = 3输出:2解释:包含 3 个奇数的子数组是 [1,1,2,...
2020-04-21
0
701
4/20剑指offer
1.数组中的逆序对思路:先把数组分隔成子数组,统计出子数组内部的逆序对的数目,然后再统计出两个相邻子数组之间的逆序对的数目。在统计逆序对的过程中,还需对数组进行排序。实际就是归并排序的思想。例如7564,我们先将其分为,75,64,再分解为7,5,6,4,然后把长度为1的子数组合并、排序并统计逆序对...
2020-04-20
0
0
4/20题解
1.给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:110...
2020-04-20
0
514
4/19剑指offer
1.最长不含重复字符的子字符串思路:采用动态规划的思想,定义函数f(i)表示以第i个字符结尾的不包含重复字符的子字符串的最长长度。如果第i个字符之前没出现过,那么f(i)=f(i-1)+1.如果第i个字符之前已经出现过,那么就分为两种情况,我们计算第i个字符和它上次出现在字符串中的位置的距离,并记作...
2020-04-19
0
0
4/18剑指offer
1.礼物的最大价值思路一:利用动态规划的思想,先用递归的思路分析。先定义第一个函数f(i,j)表达能到达坐标f(i,j)的格子时能拿到礼物总和的最大值。根据题目要求,有两种可能的途径到达坐标为(i,j)的格子。因此的状态转移方程为f(i,j)=max(f(i-1,j),f(i,j-1))+gift[...
2020-04-18
0
0
首页
上一页
12
13
14
15
16
17
18
19
20
21
下一页
末页