Unity 面试算法题
用栈实现队列
用队列实现栈
洗牌算法
在 C# 中实现洗牌算法最常用的方法是 Fisher-Yates 洗牌算法。这个算法的效率很高,时间复杂度是 (O(n)),且能确保每个元素都被均匀随机分布。以下是一个使用 Fisher-Yates 算法的 C# 代码示例:
1 | using System; |
二叉树的前序遍历
二叉树的中序遍历
二分查找
快速排序
加一
斐波那契数列
数组中的第 K 个最大元素
最大子数组和
最长递增子序列
删除链表倒数第 n 个节点
相交链表
数字序列分组
需要把数组里的数(每个数的取值都是 1-9)分成多个小组,分小组的规则是:3 个相同的数或者 3 个连续的数,当所有的数都可以被分组,则为完全分组。
设计一个算法,判断数组是否能完全分组。
例如[1, 1, 2, 2, 2, 3, 3, 3, 4],可分为 123 123 234(完全分组),
注意:若先把 222 333 分为一组,则会导致出现 bug,判断为不可完全分组。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Secret Garden!
评论