自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 剑指offer 面试题13:机器人的运动范围(java代码)

题目描述:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。 一个机器人从坐标 [0, 0] 的格子开始移动, 它每次可以向左、右、上、下移动一格(不能移动到方格外), 也不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格 [35, 37] , 因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?分析:用到回溯算法机器人从坐标(0,0)开始移...

2020-05-27 20:42:08 444

原创 剑指offer 面试题12:矩阵中的路径 (java代码)

题目:       请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。       路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。       如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 &n

2020-05-26 21:48:49 439

原创 剑指offer 面试题11:旋转数组的最小数字

题目:       把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,输入{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1分析:       最简单的方法就是从头到尾遍历数组,然后找到最小的元素。这种方法的时间复杂度是O(n);优化: &nbs

2020-05-25 13:19:39 195

原创 剑指offer 面试题10:斐波那契数列(java代码)

题目一:求斐波那契数列的第n项写一个函数,输入n,求斐波那契(fibonacci)数列的第n项。斐波那契数列的定义如下:0 n=0f(n)= 1 n=1f(n-1)+f(n-2) n>1public class A_10斐波那契数列 { public static void main(String[] args) { // System.out.println(Fibonacci

2020-05-23 21:13:12 182

原创 剑指offer 面试题9:用两个栈实现队列(java代码)

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。template<typename T> class CQqueue{ public: CQueue(void); ~CQueue(void); void appendTail(const T & node); T deleteHead(); private: stack<T> stack

2020-05-22 09:48:54 245

原创 剑指offer 面试题7:重构二叉树(Java代码)

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,输入前序遍历序列 {1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重构二叉树并输出它的头结点。二叉树节点的定义如下:struct BinaryTreeNode{int m_nValue;BinaryTreeNode* m_pLeft;BinaryTreeNode* m_pRight;}分

2020-05-21 21:17:16 149 2

原创 剑指offer 面试题8:二叉树的下一个节点(Java代码)

题目:给定一棵二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点? 树中的节点除了有两个分别指向左右子节点的指针,还有一个指向父节点的指针。class treeNode{ char val; treeNode left_Tree=null; treeNode right_Tree=null; treeNode parent_Tree=null; treeNode(char val){ this.val=val; }}public

2020-05-20 20:40:02 160

原创 解决VMware安装ubuntu时黑屏的问题

运行CMD, netsh winsock reset然后重启电脑删除掉原来安装到文件夹下的文件,从新安装ubuntu。安装时把加速3D图形那个选项勾掉。我也是尝试了好几次,一直黑屏,后来运行CMD, 输入netsh winsock reset然后重启电脑之后从新安装就好了...

2020-05-17 20:34:51 3959

原创 剑指offer 面试题6:从尾到头打印链表(java代码)

题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。链表结点定义如下: struct ListNode{ int m_nkey; ListNode* m_pNext; }要求是从头到尾遍历,但是要从尾到头打印,就是先进后出。那么可以想到的是两种方案第一种是用栈第二种是用递归class ListNode{ int value; ListNode next=null; ListNode(

2020-05-17 19:49:03 162

原创 剑指offer 面试题5 替换空格(Java代码)

面试题5:替换空格题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如,输入"We are happy.",则输出"We%20are%20happy"//usedLength是字符串string的实际长度 不是字符数组的纵容量 public static int replaceBlank(char[] string, int usedLength) { //判断输入是否合法 if(string==null||string.length<=

2020-05-14 21:42:46 154

原创 面试题4:二维数组中的查找(Java实现)

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 target = 5,返回 true。给定 targe

2020-05-14 13:22:20 264

原创 剑指offer 面试题3 题目二(Java代码)

面试题3:数组中重复的数字题目二:不修改数组找出重复的数字在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2,3,5,4,3,2,6,7},那么对应的输出是重复的数字2或者3。解决方案1:题目要求不能修改输入的数组,可以创建一个长度为n+1的辅助数组,然后逐一把原数组的每个数字复制到辅助数组。如果原数组中被复制的数字是m,那么就把它复制到辅助数组下标为m的位置。比较简单,但是

2020-05-13 01:21:52 181

原创 剑指offer 面试题3 题目一(Java代码)

面试题3:数组中重复的数字题目一:找出数组中重复的数字。在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。Java代码: static int n; static int[] a; static int ans; public static void main

2020-05-09 13:59:02 148

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除