笔试
guohongyanghy
这个作者很懒,什么都没留下…
展开
-
递归类型与一维数组的动态规划的题笔记
1、“括号生成””给出n对括号,请编写一个函数来生成所有的由n对括号组成的合法组合。例如,给出n=3,解集为:"((()))", "(()())", "(())()", "()(())", "()()()"出错的地方,递归时候使用栈,字符串这种,从内层的递归出来之后,还需要把数据恢复。尽量用字符串吧,有的时候不知道如何恢复到递归前的数据,递归时最好不要用下面这种: left--; s+="(";dfs(left,right,s);这种也别用:因为left还是被修改了dfs转载 2020-09-19 15:02:31 · 228 阅读 · 0 评论 -
迷宫笔试题
经典笔试迷宫、格子那种问题,以前一直懒得做这种题,终于笔试碰到了,只过了0.18,赶紧补一下。牛客:https://www.nowcoder.com/practice/cf24906056f4488c9ddb132f317e03bc?tpId=37&&tqId=21266&rp=1&ru=/activity/oj&qru=/ta/huawei/question-ranking定义一个二维数组N*M(其中2<=N<=10;2<=M<=原创 2020-09-18 09:59:55 · 684 阅读 · 0 评论 -
链表的题
1、公共节点题目描述:输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)问题:什么是公共节点:图上的3就是思路:找两个链表的长度,从长度一致的位置开始遍历,第一个链表长度超出的部分就不用管了。剩下的判断就成了具体实现:import java.io.FileInputStream;class ListNode { int val; ListNode next = null;原创 2020-09-05 20:58:08 · 151 阅读 · 0 评论 -
链表数组的题型
题目描述输入一个链表,反转链表后,输出新链表的表头。class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}public class Main { public static void main(String[] args) { ListNode a = new ListNode(1);原创 2020-08-20 21:21:28 · 167 阅读 · 0 评论 -
顺时针打印矩阵
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.大概就是这个样子:1 2 3 45 6 7 89 10 11 1213 14 15 16思路:首先得有两个维度是1的判断,剩下就是用list,分别存下矩阵第一行,最后一原创 2020-08-19 23:23:27 · 145 阅读 · 0 评论 -
跳台阶问题
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。public class Solution { public int JumpFloor(int target) { if(target <=0 ) return 0; if(target == 1) return 1; if(target == 2)原创 2020-08-18 00:42:13 · 76 阅读 · 0 评论 -
排序算法
直接插入排序参考:天勤数据结构前面是有序序列,初始长度就是1,认为第一个元素是有序的,后面元素插入的策略是从右往左,依次循环扫描有序序列,大的就直接右移,小的就停止循环,在当前位置插入该元素。原始:开始循环:比待插入元素值大移动大的元素比待插入元素值大,移动大的比待插入元素小,跳出循环,插入元素public class F{ public static void main(String[] args) { int[] a = {2转载 2020-08-15 18:11:27 · 105 阅读 · 0 评论 -
树结构
转自:天勤数据结构完全二叉树两种形式:完全二叉树的存储结构:另一种存储结构:二叉链表使用二叉链表存储一棵树,树的孩子兄弟存储结构:结构体与二叉树相似,只不过含义不同,取孩子节点的操作如下:牛客上的leetcode在线编程训练第一题:题目描述求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量示例1输入{1,2,3,4,5}输出2思路是完全二叉树+递归解决方案是r.转载 2020-08-15 13:31:42 · 292 阅读 · 0 评论 -
素数+回文数 Leecode 866
求出大于或等于N的最小回文素数。回顾一下,如果一个数大于 1,且其因数只有 1 和它自身,那么这个数是素数。例如,2,3,5,7,11 以及13 是素数。回顾一下,如果一个数从左往右读与从右往左读是一样的,那么这个数是回文数。例如,12321 是回文数。示例 1:输入:6输出:7示例2:输入:8输出:11示例3:输入:13输出:101提示:1 <= N <= 10^8答案肯定存在,且小于2 * 10^8。来源:力扣(L...转载 2020-08-14 23:32:00 · 207 阅读 · 0 评论