算法

news/2025/6/1 2:55:23

1.     一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少 , 用递归算法实现。

该数列为斐波那契数列,规律为第三位为前两位之和。

  

 

2.     求表达式的值,写出一种或几种实现方法: 1-2+3-4+……+m

 

3.     编程实现一个冒泡排序算法

复制代码
/*** 冒泡排序:每次只能确定一位最大的,放置数组末尾 ,下次忽略已经确定的最大值继续比较* 优点:稳定* 缺点:效率底下(重复相邻数据比较,且每次比较都会进行位置置换)* @param arr* @return*/public static int[] bubbleSort(int[] arr) { int len = arr.length; // 数组长度 for (int i = 0; i < len; i++) { // 遍历数组,用来限制内循环次数 for (int j = 1; j < len - i; j++) { // 内循环,依次减少1个次数(即为比较几次,就忽略后几位) if (arr[j - 1] > arr[j]) { // 如果前一位大于后一位,即 前>后,需要交换位置 int k = arr[j - 1]; // 把前面的先缓存起来 arr[j - 1] = arr[j]; // 让前面的等于后一位 arr[j] = k; // 后一位等于前一位之前的缓存值  } } } return arr; }
复制代码

4.     编程实现一个选择排序算法

复制代码
 /* 选择排序,从当前位(0开始)开始和下一位依次比较,找到最小元素,让当前位和最小元素换位,其他元素不变* 继续从当前位的下一位开始,依次查找最小元素并换位,直至最后一位* @param arr* @return*/public static int[] selectSort(int[] arr) { int len = arr.length; for (int i = 0; i < len; i++) { int min = arr[i]; // 每次都认为当前队列第一位为最小值,进行缓存 int index = i; // 缓存最小值(变化)坐标 for (int k = i + 1; k < len; k++) { // 向后比较 if (arr[k] <= min) { // 如果后一个小于等于前一个 min = arr[k]; // 更换最小值 index = k; // 变更最小值坐标  } } if (min == arr[i]) // 相等则不变化,默认保留当前队列第一个为最小 continue; // 循环完毕,找出了最小值的坐标,即为index,把当前坐标i元素和最小元素换位 int k1 = arr[i]; arr[i] = arr[index]; arr[index] = k1; } return arr; }
复制代码

5.     编程实现一个插入排序算法

复制代码
/*** 插入排序,默认第一位已经排好序,从第二位开始依次向前比较,确定自己的位置后插入,即前一位小余或等于当前,且后一位大于当前。* 插入后,自己新位置后面的元素依次向后移位, 完成一轮插入排序* @param arr* @return*/public static int[] insertSort(int[] arr) { int len = arr.length; for (int i = 1; i < len; i++) { if (arr[i - 1] > arr[i]) { int k = arr[i]; int j = i; while (j > 0 && arr[j - 1] > k) { arr[j] = arr[j - 1]; j--; } arr[j] = k; } } return arr; }
复制代码

转载于:https://www.cnblogs.com/huhaihua/p/4125656.html

文章来源:https://blog.csdn.net/weixin_30466421/article/details/97652548
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-17018.html

相关文章

mysql链接超时问题_mysql连接超时的问题处理

Nutch主要类代码分析之一(Injector)Injector(org.apache.nutch.crawl.Injector): 输入:种子列表文件所在的目录 输出:crawldb(保存URL以及其相应信息的数据库) 作用:把种子URL注入到c ...Hibernate中的inverseinverse inverse的英文意思是反向的,倒转的 Hibernate配置文件中的i…

NO working today. Cause today is Thanks Giving Day

Next monthDecember, I want to learn selenium technic to improve my work. Also, have a bit for Phthon. It can be cool things. May be start my voline ... Hope everyday happy and satisfied. 转载于:https://www.cnblogs.com/maycn/p/4127371.html

Max Sum -- hdu -- 1003

链接&#xff1a; http://acm.hdu.edu.cn/showproblem.php?pid1003 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 180817 Accepted Submission(s): 42261 Problem DescriptionGiven a sequence a[1],a[2],a[…

mysql5.7企业版和社区版_装配最新Mysql community server 5.7.10社区版的坑爹经历_mysql...

安装最新mysql community server 5.7.10社区版的坑爹经历北京时间昨晚(2015-12-07)22点左右&#xff0c;mysql开发团队发布了最新的5.7.10版本&#xff0c;正好我这里也需要安装mysql&#xff0c;于是开始动作。我的系统环境是centos7&#xff0c;64位系统&#xff0c;所以在ht…

Scala类型检查与转换

Scala类型检查与转换 isInstanceOf&#xff1a;检查某个对象是否属于某个给定的类。asInstanceOf&#xff1a;将引用转换为子类的引用。classOf&#xff1a;如果想测试p指向的是一个Employee对象但又不是其子类&#xff0c;可以用if(p.getClas s classOf[Employee])&#xff0…

McAfee Host Intrusion Prevention

McAfee Host Intrusion Prevention是一款集防火墙功能和HIPS于一身的主动防御和防火墙软件&#xff0c;将其与 McAfee VirusScan Enterprise 8.5/8.7搭配组成完整而强大的安全防御系统。对于初级电脑用户来说&#xff0c;仅仅开启默认设置&#xff0c;就已经可以使电脑得到很好…

iterm2 主题_忘掉Iterm2,试试这款跨平台终端工具

Mac用户最多的用的就是Iterm2了&#xff0c;windows之前因为丑陋的终端也开发了新的终端工具&#xff0c;很神奇的是&#xff0c;很长一段时间里&#xff0c;都没有一款真正好用的能跨平台的终端工具&#xff0c;直到我发现了hyper。无论Windows、Mac、Debian、Fedora还是其他L…

AngularJS 拦截器和好棒例子

目录[-] 什么是拦截器&#xff1f;异步操作例子Session 注入(请求拦截器)时间戳(请求和响应拦截器)请求恢复 (请求异常拦截)Session 恢复 (响应异常拦截器)总结Interceptors in AngularJS and Useful Examples 有日期&#xff0c;我喜欢。 $httpAngularJS 的 $http 服务允许我们…

c++日志无法查看_Kubernetes 无法查看 pods 日志问题

前言最近使用二进制部署完 Kubernetes 1.18.2 版本&#xff0c;运行命令 kubectl logs -n kube-system calico-node-mbjnm 时&#xff0c;报下面错误。原因&#xff1a;我们知道 Kubernetes 认证过程分为&#xff1a;认证 --> 授权 --> 准入控制&#xff0c;上面报错就是…

python+django+cfUpdate上传

前台&#xff1a; #html页面&#xff1a; 前台页面照抄官网就行 把 js里面的challs_flash_update()这个函数的 a.url "/Image/index/upload/";改成后台接收路径 html里面object标签的 embed src"/static/js/sourceinterfacejs/update.swf"路径改了 后台&a…