自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 调整数组顺序使奇数位于偶数前面

????调整数组顺序使奇数位于偶数前面题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于偶数数组的后半部分实现思路遍历数组,计算出数组奇数的数量,确定偶数存放起始位置,申请一个新的数组,遍历原数组,将奇数放入奇数索引位置,偶数放入偶数索引位置,空间复杂度O(n),时间复杂度O(n)使用冒泡法,将偶数冒泡到最右边,时间复杂度O(N^2),空间复杂度O(1)使用双指针思想,首尾指针为p1, p2,如果 p1 < p2;循环,arr[p1]为奇数,p1++;循

2020-08-12 00:25:40 142

原创 删除链表的节点

????删除链表的节点题目:在O(1)时间内删除链表节点,给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。实现思路:首先判断给定的删除节点是否最后一个节点如果不是最后一个节点,可以将要删除节点的下一个节点值赋给给定的删除节点,将给定的删除节点指向下下个节点,时间复杂度为O(1)如果是最后一个节点,那么就必须进行遍历,此时分两种情况:如果链表只有一个节点,那么直接将头结点置为null,时间复杂度为0(1)进行遍历,找到要删除节点的前一个节点,将前一个节点的下一

2020-08-09 21:47:16 158

原创 数组的整数次方

????数组的整数次方题目:实现函数double power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题具体实现思路base,exponent在数学上是没有意义的,需要讨论,如果都为0怎么处理判断exponent是否为0,为0的情况下,返回0判断exponent是否为1,为1的情况下,返回base判断exponent是否为-1,使用布尔类型变量表示,先将exponent置为正数,求出base的exponen

2020-08-08 22:38:34 138

原创 旋转数组的最小数字

旋转数组的最小数字题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素,例如,数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1解题思路解法一:直接遍历数组,时间复杂度为O(N)解法二:先将数组进行排序,取第一个元素即为所求的解法三:使用二分法如果数组是{1, 2, 3, 4, 5},那么该数组已经是有序的,直接第一个就是要找的元素如果数组是{3, 4, 5, 1,

2020-08-05 22:07:18 87

原创 斐波那契数列

斐波那契数列写一个函数,输入n.求斐波那契数列的第N项斐波那契的定义如下f(n) =0, n = 0f(n) = 1, n = 1f(n) = f(n-1) + f(n-2), n > 1具体思路可以使用递归的方式求解,当n=0或者n = 1的时候,返回n,否则递归调用即可,存在重复计算,当N大的时候,非常耗时使用迭代的方式求解,当n=0或者n=1的时候,返回n,其余按照前两项和相加,当N大的时候,耗时短递归求解代码简洁易懂,但是耗时长public class Solu

2020-08-04 22:20:41 178

原创 用两个栈实现队列

???? 用两个栈实现队列用两个栈实现一个队列实现思路:首先栈是先进后出的,队列是先进先出的1、使用两个栈A、B,先将元素从栈A弹出放入栈B中,再从栈B中取出元素,分两种情况讨论如果栈B没有元素,需要一次性将栈A中的全部元素放入栈B中,再从栈B中弹出元素如果栈B中有元素,那么直接从栈B中弹出public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Int

2020-08-04 22:03:26 91

原创 二叉树的下一个节点

剑指Offer8???? 二叉树的下一个节点给定一个二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左、右子节点的指针,还有一个指向父节点的指针前序遍历:先访问根节点,再访问左节点,最后访问右节点 简称:根左右中序遍历:先访问左节点,再访问根节点,最后访问右节点 简称:左根右后序遍历:先访问左节点,再访问右节点,最后访问右节点 简称:左右根具体实现思路如果查找的节点包含右子树,则右子树的最左边的节点就是下一个节点如果查找的节点右子树为空,

2020-08-03 22:34:38 143

原创 随笔记录

随笔记录进入互联网行业一段时间,也经历了一些,有了一些感想,记录下来互联网行业实习越早越好,成本也就越低,在学校如果能大二、大三出来实习,后期你的职业规划会越来越清晰在学校如果能把计算机基础(C语言,数据结构算法、网络、操作系统、编译原理、Linux)等等打基础,那就是最好的投资了,基础扎实,出来后会发现基础非常有用实习一般都不会干很重的活,如果能提早出来,不仅能增长下见识,提前适应,还能赚点零花钱编程这行,需要的就是实践,如果只是看懂,到需要手动编写代码的时候,还是写不出来的,代码里面全是细节

2020-07-26 19:31:45 72

原创 从尾到头打印链表

从尾到头打印链表输入一个链表的头节点,从尾到头反过来打印出每个节点的值具体思路:解法一:1 .首先想到数据结构是栈,符合后进先出2 . 将节点的值放入Stack中3 .之后将stack中的值pop出来放入ArrayList集合中4 . 返回的集合中的值就是反转后的值解法二1.递归实现,递归本身就是栈结构解法一代码public ArrayList<Intege...

2019-04-06 18:53:54 100

原创 替换字符串

替换字符串题目描述:请实现一个函数,将一个字符串中的每个空格替换成 %20。例如,当字符串为 We Are Happy,则经过替换之后的字符串为 We%20Are%20Happy。具体思路:1 .遍历原字符串,遇到空格,则在原字符串末尾append两个空格2 .使用指针p指向原字符串末尾,指针q指向现字符串末尾3 . p,q同时从后向前遍历,当p指向空格是,q指针添加%20,若不是...

2019-04-06 18:23:30 111

原创 二维数组中的查找

给定一个二维数组,其每一行从左到右递增排序,从上到下也是递增排序。给定一个数,判断这个数是否在该二维数组中。具体思路:实现方式一从左下角开始查找,如果元素的值等于target,则返回true;如果元素的值大于target,则向上查找,–i;如果元素的值小于target,向右查找,++j;实现方式二:从右上角开始查找,如果元素的值等于target,则返回true;...

2019-04-01 15:02:53 72

原创 剑指Offer3

剑指offer 3题目描述:在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。解题思路:方法一先排序,之后顺序扫描判断是否右重复,时间复杂度为O(n^2)方法二,时间复杂度为O(n)长度为n,元素的范围也为0~n,如果没有重复元素,则n下标的值也等...

2019-03-31 20:32:43 143

空空如也

空空如也

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

TA关注的人

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