数据结构与算法
心如孤岛
热爱coding
展开
-
leetcode题解
将之前做过的leetcode代码搬运了过来,并将同步更新以后的代码。原创 2018-10-09 19:58:22 · 332 阅读 · 0 评论 -
leetcode题解之172
172.阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量。 一开始思路:计算n!结果,再统计结果中零的个数。但当n很大时递归n!时间复杂度很高。 优化思路:找规律 1! = 1; 2! = 2; 3! = 6; 4! = 24; 5! = 120; 发现,当n等于5时,由于2和5会想乘,此时会出现尾数为0的情况。由此可见,问题可以转化为n中有多少个5。 代码 class ...原创 2018-10-09 20:10:12 · 160 阅读 · 0 评论 -
leetcode题解之189
189.旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 一开始思路: 当k大于数组长度,对k取余。 k = k % nums.length; 将数组向后移动一位,将最后数字与之前每一项交换,依次循环k次 时间复杂度:O(n2) 进阶版: 以k位置为分割点将左右两部分分别反转,再整体反转。 代码: class Solution { public voi...原创 2018-10-09 20:23:21 · 182 阅读 · 0 评论 -
leetcode题解之566
566.重塑矩阵 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。 重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。 如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。 思路:简单题...原创 2018-10-09 20:43:45 · 150 阅读 · 0 评论