自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 希望上岸

2020.06.25 剑指offer的算法题基本是写完了,还是很菜,写了两遍,有些还是不熟悉。最近需要期末考,csdn的编辑也不是很方便,有点浪费时间。因此下一段时间我主要是离线总结,准备冲最想去的实习地方。到时候如果冲上了,就没有刷题的压力,可以好好写更多的博客,希望自己能上岸,付出的都有收获。 ...

2020-06-25 12:25:43 140 1

原创 算法刷题7【剑指offer系列之数学题】

1、不得使用+、-、*、/实现加法 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 2、数的补码中1的个数 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 3、从1 到 n 中1出现的次数 求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数? 为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现

2020-06-24 23:33:33 124

原创 算法刷题6【剑指offer系列之矩阵】

回溯 1、求字符矩阵中字符串路径 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 [ a b c e s f c s a d e e⎤​ 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。 思路:

2020-06-24 15:16:50 193

原创 算法刷题5【剑指offer系列之栈和队列】

2020.06.21 1、两个栈来实现一个队列 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 1、入栈只入push栈,出栈只出pop栈 2、若pop栈不为空,push栈不能进入 3、push栈的元素如果可以加入到pop栈,则需要全部一起到pop栈 public class Stack2Queue { Stack<Integer> pushStack = new Stack<Integer>(); Stack<Int

2020-06-21 17:52:17 151

原创 记人生第一次春招

2020.06.10 本来应该是昨天写下这篇文章画上句号的,但是昨天真的太忙了,所以今天才来个总结。因为本科是通信的,所以真正学Java或者说软件开发是去年这个时候,大概学习了一年吧。 从3月1号开始投简历,一开始的简历写得真的烂,简历很多都没过,甚至小厂也刷了我的简历。最后我选择了海投,因为自己现在的水平如何还是有点b数的,虽然师兄一直叫我投字节和阿里,但是我BAT还是没有投,怕留下一个不好的面试记录,这些大厂留给我实习以后再冲。海投以后也获取了一些面试机会,小的有巨杉数据库、浩鲸云计算,大的有腾讯微保、

2020-06-10 20:57:32 183

原创 算法刷题5【剑指offer系列之树】

2020.06.04 1、前序中序重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:前序遍历根左右,中序遍历左根右,因此前序数组的第一个元素pre[0]就是根,可以按照这个根将中序数组分成左右两个部分。然后root.left在左部分,root.right在右部分。 (1)根据pre[0]新建结点,这个结点

2020-06-04 21:11:47 306

原创 算法刷题4【常见模板代码】

2020.06.03 1、二分查找 狭义上的二分查找只适合有序数组,但是二分的思想却是可以用到无序但是有一定特点的数组,比如旋转数组、1~n内找出缺失的数等。 public class BinarySearch { public static void main(String[] args) { int[]arr={1,1,1,1,2}; System.out.println(process(arr,2)); } /** * 找到下标---

2020-06-03 17:35:58 197

原创 CVTE手撕算法整理

因为明天就是cvte实习生招聘的二面了,还是需要好好准备一下。就将以前考过的算法题再整理一下,希望明天能过二面。 1、给定一个整数数组,需要将所有数打乱顺序后重排列(以String拼接的方式),问这样拼出的数最小时多少 思路:这题在剑指offer的数组专题整理过了,其实就是贪心算法。 public class SmallestNumber { public static void main(String[] args) { SmallestNumber s=new SmallestN

2020-06-02 22:50:42 466

原创 算法刷题3【剑指offer系列之链表】

2020.05.31 1、链表倒序输出为数组 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 思路1:直接遍历链表,每次插入到0 的位置,但是这样数组后面的元素都需要移动,效率低。 思路2:使用栈,先全放入栈,再输出 注意:因为不能改变输入的链表,所以不能将链表倒序再输出。 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer&gt

2020-05-31 23:32:15 129

原创 算法刷题2【剑指offer系列之字符串】

2020.05.28 1、字符串的全排列 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 思路:这道题在华为2020年春招的笔试题考了原题。 (1)首先考虑字符不重复的情况 输入:abc 输出:abc acb bac bca cab cba 考虑把复杂的问题分解成小的问题。比如,**把一个字符串看成由两部分组成

2020-05-28 22:30:21 386

原创 算法刷题1【剑指offer系列之数组】

字符串和数组(按照牛客题目顺序) 1、字符串替换 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路:这题如果使用stringBuilder来做其实难度不大,但是题目的本意不是这样,使用stringBuilder感觉有点增加了空间复杂度,所以我们直接操作字符串(字符数组) 但是如果从前往后替换的话,遍历到第i个字符,需要将i以后的字符都向后移动,这样的时间复杂度是o(n2),显然不好。 从前往后

2020-05-19 22:02:21 670

空空如也

空空如也

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

TA关注的人

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