2020年6月4日
摘要: 题目要求 算法分析 如果不限制使用除法, res[n] = nums[0] * nums[1] * .....* nums[nums.Lenght-1] / nums[n]; 由于限制除法 res[n] = nums[0] * nums[1] *....* nums[n-1] * nums[n+1] 阅读全文
posted @ 2020-06-04 22:32 King__R 阅读(107) 评论(0) 推荐(0) 编辑
  2020年6月3日
摘要: 题目要求 算法分析 题意: 从0点数开始,等可能加上1到W之间的某一数值,如果点数小于等于K,继续抽牌,一旦点数大于K则停止抽牌,并判断点数是否超过N,没超过N就获胜。本题求获胜的概率 整局游戏所有可能出现的点数范围是 0 到 W+K-1,可以用长度为W+K的数组res存储处于各点数时游戏获胜的概率 阅读全文
posted @ 2020-06-03 14:32 King__R 阅读(131) 评论(0) 推荐(0) 编辑
  2020年6月2日
摘要: 题目要求 算法分析 不让用乘除,不让用for while if else switch case 首先想到递归,递归需要有终止条件, 可以利用&&的特性,左边为false,来屏蔽掉右边的代码,来实现终止功能. 代码展示(C#) public class Solution { public int S 阅读全文
posted @ 2020-06-02 01:10 King__R 阅读(163) 评论(0) 推荐(0) 编辑
  2020年6月1日
摘要: 儿童节快乐 题目要求 算法分析 贪心算法,找到最大值,用最大值减去额外糖果数量,小于这个结果的不可能获得最多糖果 代码展示(C#) public class Solution { public IList<bool> KidsWithCandies(int[] candies, int extraC 阅读全文
posted @ 2020-06-01 23:11 King__R 阅读(157) 评论(0) 推荐(0) 编辑
  2020年5月29日
摘要: 题目要求 算法分析 按照数组顺序偷,将每个房子累计可能偷到的最大值记录下来, 到第0个房子累计偷到的最大值Value[0] = nums[0] 到第1个房子累计偷到的最大值Value[1] = Max( Value[0],nums[1]) 到第2个房子累计偷到的最大值Value[2] = Max( 阅读全文
posted @ 2020-05-29 12:43 King__R 阅读(116) 评论(0) 推荐(0) 编辑
  2020年5月28日
摘要: 想要实现的效果 参考蔚蓝中的分身,分身会复制玩家的操作,延迟执行。 分析 操作可以分解成 命令输入 和 效果输出 两部分。 分身的操作,可以想象成延迟操作,玩家命令输入N秒后分身才执行效果输出。 所以利用协程简单实现输入输出的延迟效果, Update中编写输入,获取输入后开启协程,协程开始延迟N秒, 阅读全文
posted @ 2020-05-28 15:38 King__R 阅读(743) 评论(0) 推荐(0) 编辑
  2020年5月27日
摘要: 题目要求 算法分析 利用前缀和,只要统计前缀和之差可被K整除的子数组的个数即可, 根据同余定理,两个前缀和a和b,若满足a-b能够被K整除,那么整数a与b对模K同余, 于是可以根据同余的前缀和的数量,得到可被K整除的子数组数。 代码展示(C#) public class Solution { Dic 阅读全文
posted @ 2020-05-27 15:27 King__R 阅读(216) 评论(0) 推荐(0) 编辑
  2020年5月22日
摘要: 题目要求 算法分析 先序遍历中第一个元素的值就是树的根, 我们可以通过该值检索到根在中序遍历内对应的索引 这样就得到了左子树的中序遍历,和左子树的长度。 以及右子树的中序遍历。 在先序遍历序列中,根据左子树的长度,可以获得左子树的先序遍历,以及右子树的先序遍历。 这样我们得到了左子树的先序遍历和中序 阅读全文
posted @ 2020-05-22 15:30 King__R 阅读(186) 评论(0) 推荐(0) 编辑
  2020年5月21日
摘要: 题目要求 算法分析 暴力算法 截取每一个子串 判断是否为回文串 输出其中最长的回文子串。 中心扩展 若回文串两侧的字符相同,则删去两侧字符后剩下的字符串仍为回文串。 我们可以反过来,对字符串中的某一位字符c(或某两位相邻的相同字符串cc), 如果其两侧字符相同,则让它向两侧扩展,直到两侧字符不同,最 阅读全文
posted @ 2020-05-21 14:50 King__R 阅读(174) 评论(0) 推荐(0) 编辑
  2020年5月20日
摘要: 题目要求 算法分析 暴力算法,双循环迭代,即可找到满足条件的数组下标,时间复杂度为O(n2)。 优化算法,可以利用哈希表(C#用字典)在第一次迭代时先存储数组的数据, 这样第二次迭代检索数据时可以利用索引快速查找,实现了用空间换时间。 更优算法,不必要先存储再查找,可以边存数据,边查找。 代码展示( 阅读全文
posted @ 2020-05-20 23:48 King__R 阅读(152) 评论(0) 推荐(0) 编辑