自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 「字节跳动测试开发面经」一二三面+hr面+复习资料

说在前面,面试时最好不要虚报工资。本来字节跳动是很想去的,几轮面试也通过了,最后没offer,自己只想到几个原因: 1、虚报工资,比实际高30%; 2、有更好的人选,这个可能性不大,我看还在招聘。我是面试Android开发的,3年经验,下面是面试流程: 一面 自我介绍项目实习算法题:如何判断一棵树是否是平衡二叉树 我写的递归有点问题,算是写出来了50%吧算法题:最长回文子串 只写了中心扩散法,面试官...

2021-11-18 13:56:00 647

原创 归并排序

归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并操作归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。如 设有数列...

2019-05-07 11:23:23 108

原创 快速排序

快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R.Hoare在1962年提出。基本思想:通过一趟排序将要排序的数据分割成独立的两部分其中一部分的所有数据都比另外一部分的所有数据都要小然后再按此方法对这两部分数据分别进行快速排序整个排序过程可以递归进行,以此达到整个数据变成有序序列。一组数:3,4,6,1,2,7代码实现如下:import ja...

2019-05-06 18:50:49 137

原创 排序3。1:直接选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。在元素集合array[i]–array[n-1]中选择关键码最大(小)的数据元素若它不是这组元素中的最后一个(第一个)元素,则将它与这组元素中的最后一个(第一个)元素交换在剩余的array[i]–a...

2019-05-03 20:42:30 133

原创 排序2——插入排序:直接插入排序,希尔排序

插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。具体算法描述:从第一个元素开始,该元素可以认为已经被排序。取出下一个元素,在已排序元素中从后向前扫描。如果该元素大于新元素,将该元素移向下一个位置。重复步骤三,直到找到已排元素小于或等于新元素的位置。将新元素插入...

2019-05-03 19:45:11 197

原创 排序1——冒泡排序

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。算法原理1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步...

2019-05-03 18:53:09 215

原创 丑数

题目描述:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。解法1:逐个判断每个数是不是丑数,解法直观,但不高效。如果一个数能被2整除,就连续除2,能被3整除,就连续除3,能被5整除,就连续除5,如果最后得到的是1,那么这个数就是丑数。//判断这个数是不是...

2019-04-29 10:08:23 60

原创 从尾到头打印链表

题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。借助栈的“后进先出”实现/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* ...

2019-04-27 15:11:18 47

原创 二进制中1的个数

二进制中1的个数**题目描述**输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。考察二进制和位运算解法一:可能陷入死循环的解法:从左向右移,从n的2进制形式的最右边开始判断是不是1。public static int NumberOf(int n) { int count = 0; while (n != 0) { if ((n & 1)...

2019-04-13 17:21:04 54

原创 斐波那契数列(跳台阶)

斐波那契数列题目1:斐波那契数列大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39斐波那契数列定义:1、1、2、3、5、8、13、21、34、……我们最容易想到的是递归的方式,代码如下: public int Fibonacci(int n) { if(n<=0){ ...

2019-04-10 17:38:31 228

原创 旋转数组的最小数字

旋转数组的最小数字题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。解题思路直观解法:遍历数组没有利用旋转数组特性,达不到面试官的要求。旋转后的数组可...

2019-04-09 13:00:07 60

原创 删除链表中重复的节点

删除链表中重复的节点题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:1.添加一个头节点,防止遇到第1,2个就相同的情况。2.设置pre cur指针,pre指向当前确定不重复的节点,cur为工作指针,一直向...

2019-04-08 14:54:13 55

原创 替换空格

替换空格请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public String replaceSpace(StringBuffer str) { if(str==null){ return null; } ...

2019-03-31 21:38:53 55

原创 二维数组中的查找

二维数组中的查找题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如二维数组: 1   2   8     9 2   4  9 ...

2019-03-31 21:20:13 57

原创 JAVA数组章节练习

1.计算数组中最大值 2.计算数组中最小值 3.计算数组值之和 4.数组拼接 5.数组截取 6.数组反转 7.打印数组首先定义类:public class ArrayUtils{计算数组中最大值 public static int arrayMaxElement(int[] data){ int max= data[0]; for(int i=0;i&lt;data.len...

2019-03-03 23:01:18 279

原创 关于C语言的指针

关于C语言的指针一级指针指针是什么?在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元指针:指针是个变量,存放内存单元的地址(编号)。指针就是地址, 利用这个...

2019-02-19 18:27:40 86

原创 C语言操作符详解

C语言操作符详解算数操作符算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。+  -  *  /  %注意“%”只能用于整型移位操作符&gt;&gt;(右移操作符)&lt;&lt;(左移操作符)左移操作符 移位规则:左边抛弃、右边补0。右移操作符 移位规则:首先右移运算分两种:逻辑移位(无符号) 左边用0填充,右边丢弃算术移位(有符号) 左边用原该值的...

2019-02-16 18:40:33 336

原创 C语言完成扫雷游戏的编程

C语言完成扫雷游戏的编程首先用一个二维数组来表示玩家所看到的地图,但是实际需要两张地图。一张是玩家看到的地图,一张则是地雷的分布图。对于地雷的分布图,我们可以使用char类型的二维数组,其中‘1’表示地雷,‘0’表示不是地雷;而对于玩家看到的地图,我们可以初始化全为‘ ’,所以也用char类型的二维数组。分析游戏的流程:首先打印玩家看到的地图,提示玩家开始输入坐标;然后检查输入的坐标对应的...

2019-02-15 21:14:07 294

原创 用C语言完成三子棋游戏的编译

用C语言完成三子棋游戏的编译先简单介绍一下三子棋的规则,方便我们接下来的编程和理解。规则如下:在九宫格棋盘上,只要将自己的三个棋子走成一条线(横、竖、对角线),对方就算输了。代码分为三部分:第一部分是头文件game.h:#define _CRT_SECURE_NO_WARNINGS 1#define ROW 3#define COL 3#include&lt;stdio.h&gt;...

2019-02-15 20:38:34 158

空空如也

空空如也

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

TA关注的人

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