
算法
zhangshk_
一直在路上。。。
展开
-
算法—输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分, 并保证奇数和奇数,偶数和偶数之间的相对位置不变
题目—:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分 思路:1.明确了题目需求,使得奇数位于左边,偶数位于右边;当左边的元素位奇数,继续;当右边元素为偶数,继续;当这两个条件同时都不满足,也就是左边为偶数,右边为奇数,那么就调换两个元素位置。考虑使用位运算,奇数&1必然=1,偶数&...原创 2018-07-24 19:59:10 · 8085 阅读 · 1 评论 -
算法—输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示! 明确几点:计算机中数据存储形式位二进制位。正数以原码形式存储负数以补码形式存储int类型数据,占4个字节,一个字节8位,所以int类型占32个二进制位。比如:9的原码位 00001001 完整形式为00000000 00000000 00000000 00001001对于负数求二进制位...原创 2018-07-24 20:12:57 · 2395 阅读 · 1 评论 -
算法—100!100阶乘后面末尾有多少个0
啥是阶乘?阶乘就是从1开始一直到那个数的所有数据相乘,比如100!=1*2*3*4*5...*97*98*99*100 问题分析:100!末尾想要产生0,那么必然两个数相乘为0,比如2*5,4*5,6*5。。。总之一定要有5,那只需要看1~100中间可以分解出多少个5就可以了。看他相乘的数,中间有多少个5,比如5,10,15,20,25,30,35,40,45 。。。10...原创 2018-07-20 11:04:14 · 9680 阅读 · 0 评论 -
算法—青蛙跳台阶问题汇总
1. 第一题(引子):输出菲波那切数列的第N项。斐波那契数列含义(百度百科):指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) 递归方式: public static int fibnacci(int n){ ...原创 2018-07-21 20:13:08 · 23932 阅读 · 15 评论 -
十大经典排序算法动图图解
转载:http://web.jobbole.com/87968/0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通...转载 2018-09-30 16:27:13 · 16802 阅读 · 10 评论