![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法入坑
argleary
这个作者很懒,什么都没留下…
展开
-
算法入坑——之字形打印矩阵
**题目:**之字形打印矩阵**难度:**低对于一个矩阵,请设计一个算法,将元素按“之”字形打印。具体见样例。给定一个整数矩阵mat,以及他的维数nxm,请返回一个数组,其中元素依次为打印的数字。测试样例:[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],4,3返回:[1,2,3,6,5,4,7,8,9,12,11,10]**解题思路:**用其输出特点来解题,...原创 2019-06-20 21:19:21 · 842 阅读 · 0 评论 -
算法入坑——猫狗收容所(好气哦)
算法入坑难度:低题目:有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养所有动物中最早进入收容所的,第二种为选择收养的动物类型(猫或狗),并收养该种动物中最早进入收容所的。 给定一个操作序列int[][2] ope(C++中为vector<vector<int>>)代表所有事件。若第一个元素为1,则代表有动物进入收容所,第二个...原创 2019-06-17 21:36:27 · 560 阅读 · 0 评论 -
算法入坑——回文检测
请编写一个函数,检查链表是否为回文。给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。测试样例:{1,2,3,2,1}返回:true{1,2,3,2,3}返回:false正解import java.util.Stack;public class Palindrome { public static boolean isPalindrome...原创 2019-06-21 22:06:28 · 825 阅读 · 0 评论 -
青蛙跳台阶问题(斐波那契数列)(递归)
题目如下:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。牛客网在线编程点这里思路:青蛙每次只能跳1阶楼梯或2阶楼梯如果当前有n层楼梯每跳一次剩下的跳法可能是f(n-1)次层或f(n-2)次层。因此f(n) = f(n-1) + f(n-2);当青蛙跳到最后只剩1层或2层阶梯时:f(1) = 1; f(2) ...原创 2019-09-02 11:19:42 · 628 阅读 · 0 评论 -
变态青蛙跳台阶
题目如下:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。牛客网在线编程点这里解题思路:当n = 1 时,f(1) = 1;即只有一个台阶时,只跳一次当n = 2 时, 可能一次跳1阶跳两次或一次跳2阶,f(2) = f(2-1) + f(2-2), 式中f(2-1)可理解为跳了一步之后还有2-1阶台阶,f(2-2)可理解为...原创 2019-09-02 13:33:05 · 162 阅读 · 0 评论 -
实现包含min()方法的栈
题目如下:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。牛客网在线编程链接思路:因为题目要求时间复杂度为O(1),所以不能用遍历得出最小值的方法创建两个栈,一个做正常操作,另一个用来记录最小值入栈时正常栈入栈,min栈的栈顶元素与入栈值比较如果min栈顶的值小于将要入栈的值,min栈将栈顶的值再次入栈如果min栈顶的值大于将...原创 2019-09-03 21:40:54 · 121 阅读 · 0 评论 -
翻转单词
题目:把 student a am I 翻转为 I am a student 。牛客在线编程思路:这个判断很妙,过滤了入参为“”或“ ”的情况。if(str.trim().isEmpty()){ return str; } else{题解如下:import java.util.*;public class Solution { ...原创 2019-09-08 21:57:40 · 121 阅读 · 0 评论 -
输入两个链表,找出它们的第一个公共结点
题目:输入两个链表,找出它们的第一个公共结点牛客链接我的解:利用Set集合记录第一条链表遍历的所有节点,然后遍历第二条链表找到第二条链表中与第一条相同的节点。这个方法有点笨。public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { ...原创 2019-09-09 21:33:31 · 530 阅读 · 0 评论 -
leetcode-202,快乐数
题目如下:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。在线编程点这里做此题的要点是要知道不快乐数会循环就如同这样:4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4...原创 2019-09-28 12:47:53 · 129 阅读 · 0 评论