算法
文章平均质量分 55
Androdi开发需要用到的算法基础
小鸡仔hana
an Android fan
展开
-
[Android面试简单算法题]求两数之和
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target原创 2022-02-22 16:26:16 · 428 阅读 · 0 评论 -
[Android面试简单算法题]求任意范围内的素数
最近几年面试的时候遇到越来越多的公司要求会一些简单算法,所以打算自己平时多写写多练练,记录下来,加油推荐LeetCode、牛客网上面去刷题,简单到中等到复杂,覆盖面很多,很多面试题就是从这些里面直接拿出来考的。题目:求200到300之间的素数分析:这道题目最关键的就是素数的判断了。**素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。**所以整道题的核心就是素数的遍历判断。代码:public class Test { public static void main(S原创 2021-06-16 17:34:24 · 1456 阅读 · 0 评论 -
[Android算法初级学习]简单排序算法之快速排序
111原创 2021-04-21 09:29:14 · 326 阅读 · 0 评论 -
[Android算法初级学习]简单排序算法之冒泡排序
冒泡排序也是非常基础的排序算法,理解了上期的选择排序之后,冒泡排序就理解起来很简单。定义冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名原创 2021-02-20 11:03:13 · 695 阅读 · 0 评论 -
[Android算法初级学习]简单排序算法之选择排序
排序算法应该是平时经常要用到的算法,也是非常重要需要掌握的初级技能,之前一直觉得很迷糊,所以重头再看一遍的时候才发现原理原来是这样的,一下子就清楚了很多。定义选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。关于最后的不稳定的说明稳定:如果原创 2021-02-19 15:54:19 · 265 阅读 · 0 评论 -
[Android算法初级学习]数组和链表
数组和链表都属于线性表的数据结构,也是最基本和最常用到的数据结构,所以了解他们是非常重要的。明白他们的优缺点,编码的时候就会根据算法选择最合适的一个,提升性能和效率。内存在了解数组和链表前,我们要了解计算机的内存工作原理。内存就像是个抽屉,里面一个个都是地址。这个0x123456就是一个内存单元的地址。编码的时候将数据存储到内存中时,计算机会给你提供一个内存地址用来存储数据。存储多项数据的时候,这个时候就要开辟多个地址了,也就是我们的数组和链表了。了解完这个概念之后就是我们的主角了。数组的概念原创 2021-02-17 17:40:34 · 221 阅读 · 0 评论 -
[Android算法初级学习]简单二分法查找
[Android算法初级学习]简单二分法查找之前一直很迷茫想要提升android技术到底该学什么?到底是系统源码,高级自定义view呢还是java入门基础,包括很多刚开始学习android的新人也是,后来慢慢的深入下去才发现基础真的很重要,想要造高楼,必须打地基给打结实。于是打算开始算法的简单初级学习,为了能够更好地学习高层的知识,把自己的基础稳固下来。这里我选择的是《算法图解》和《大话数据结构》这两本入门基础级别的书(建议优先看算法图解,因为前者属于启蒙,后面的已经初具规模),可以帮你了解到大概的算法原创 2020-12-02 16:30:59 · 293 阅读 · 0 评论