当前位置: 首页 > news >正文

山东胶州建设工程招标网站wordpress登录机制

山东胶州建设工程招标网站,wordpress登录机制,百度广告收费表,网页设计图片居中怎么设置常见递归算法题目整理 一、单路递归1、阶乘计算2、翻转字符串3、二分查找 二、多路递归1、斐波那契1#xff09;基础版2#xff09;缓存版 2、汉诺塔3、杨辉三角1#xff09;基础版2#xff09;缓存版3#xff09;优化缓存版 ) 一、单路递归 1、阶乘计算 public class … 常见递归算法题目整理 一、单路递归1、阶乘计算2、翻转字符串3、二分查找 二、多路递归1、斐波那契1基础版2缓存版 2、汉诺塔3、杨辉三角1基础版2缓存版3优化缓存版 ) 一、单路递归 1、阶乘计算 public class 阶乘计算 {// 1*2*3....*100public static void main(String[] args) {System.out.println(num(10));}private static int num(int i) {if (i 1 || i 0) {return i;}return i * num(--i);} }2、翻转字符串 public class 翻转字符串 {public static void main(String[] args) {String str wrewtyu;f(str,0);}private static void f(String str, int index) {if (index str.length()) {return;}f(str, index 1);System.out.println(str.charAt(index));} }3、二分查找 public class 二分查找 {public static void main(String[] args) {int[] arr {1, 2, 3, 5, 6, 7, 9, 22, 33, 66, 78, 81, 99, 100};int targetNum 3;System.out.println(binarySearch(arr, targetNum, 0, arr.length));}private static int binarySearch(int[] arr, int targetNum, int left, int right) {if (left right) {return -1;}int mid (left right) 1;if (arr[mid] targetNum) {return binarySearch(arr, targetNum, mid 1, right);} else if (arr[mid] targetNum) {return binarySearch(arr, targetNum, left, mid - 1);} else {return mid;}} }二、多路递归 1、斐波那契 1基础版 public class FeiBoNaQieTest {public static void main(String[] args) {System.out.println(f(10));}private static int f(int n) {if (n 1) {return 1;}if (n 0) {return 0;}return f(n - 1) f(n - 2);} }2缓存版 基础版已经能够完成我们的目的但是在计算每一项的时候会重复计算比如在计算第8项和第9项的时候都需要借助第7项继而导致第7项重复计算。此处添加一个缓存数组cache用于存放已经计算过的项避免重复进行计算 public class FeiBoNaQieCacheTest {public static void main(String[] args) {int length 18;// 1、将所有计算过的值缓存在数组中避免重复计算int[] cache new int[length 1];// 2、默认都赋值为-1Arrays.fill(cache, -1);// 3、赋值前两项cache[0] 0;cache[1] 1;System.out.println(f(length, cache));}private static int f(int n, int[] cache) {if (cache[n] ! -1) {// 曾经计算过return cache[n];}int i f(n - 1, cache);int j f(n - 2, cache);// 返回数据的同时将数据进行缓存cache[n] i j;return i j;} }2、汉诺塔 public class HanNuotaTest {private static ListInteger a new LinkedList();private static ListInteger b new LinkedList();private static ListInteger c new LinkedList();public static void main(String[] args) {int n 5;init(n);print();f(n, a, b, c);print();}/*** param n 圆盘个数* param a 源* param b 借* param c 目*/private static void f(int n, ListInteger a,ListInteger b,ListInteger c) {if (n 0) {return;}// 1、n个圆盘将顶部n-1个圆盘借助c由a移动到bf(n - 1, a, c, b);// 2、将a移动到cInteger remove a.remove(a.size() - 1);c.add(remove);// 如果是LinkedList可以直接使用removeLast// c.add(a.removeLast());// 3、n个圆盘将顶部n-1个圆盘借助a由b移动到cf(n - 1, b, a, c);}/*** 初始化汉诺塔集合** param n 圆盘个数*/private static void init(int n) {for (int i n; i 0; i--) {a.add(i);}}/*** 打印哈诺塔内容*/private static void print() {System.out.println(---);System.out.println(a: a.toString());System.out.println(b: b.toString());System.out.println(c: c.toString());} }3、杨辉三角 1基础版 public class YangHuiTest {public static void main(String[] args) {f(30);}/*** param length 杨辉三角高度*/private static void f(int length) {if (length 0) {return;}for (int i 0; i length; i) {printSpace(length, i);for (int j 0; j i; j) {// 格式化打印元素占用位置宽度System.out.printf(%-4d, getElement(i, j));}System.out.println();}}/*** 打印每一行前面的空格空格数与杨辉三角高度和元素位置有关系高度-1-位置下标*2** param length 杨辉三角高度* param i 元素位置*/private static void printSpace(int length, int i) {int spaceNum (length - 1 - i) * 2;for (int k 0; k spaceNum; k) {// 这里与元素占用位置大小有关系本demo为占用4个位置System.out.print( );}}/*** 获取元素(3,2)(2,2)(2,1)两边元素i,j、(0,j)都是1** param i 横坐标* param j 纵坐标* return (i, j)坐标元素*/private static int getElement(int i, int j) {if (j 0 || i j) {return 1;}return getElement(i - 1, j - 1) getElement(i - 1, j);} }2缓存版 此处的缓存做法与斐波那契做法相同使用一个二维数组存储杨辉三角的各个元素我们在使用getElement方法获取元素的时候可以直接去二维数组中获取继而减少递归计算的次数 public class YangHuiCacheTest {public static void main(String[] args) {f(30);}/*** param length 杨辉三角高度*/private static void f(int length) {if (length 0) {return;}// 初始化一个二维数组 用于缓存集合直接length,length太浪费空间int[][] cache new int[length][];for (int i 0; i length; i) {// 二维数组的每一行长度为i1cache[i] new int[i 1];printSpace(length, i);for (int j 0; j i; j) {// 格式化打印元素占用位置宽度System.out.printf(%-4d, getElement(cache, i, j));}System.out.println();}}/*** 打印每一行前面的空格空格数与杨辉三角高度和元素位置有关系高度-1-位置下标*2** param length 杨辉三角高度* param i 元素位置*/private static void printSpace(int length, int i) {int spaceNum (length - 1 - i) * 2;for (int k 0; k spaceNum; k) {// 这里与元素占用位置大小有关系本demo为占用4个位置System.out.print( );}}/*** 获取元素(3,2)(2,2)(2,1)两边元素i,j、(0,j)都是1** param i 横坐标* param j 纵坐标* return (i, j)坐标元素*/private static int getElement(int[][] cache, int i, int j) {if (cache[i][j] ! 0) {return cache[i][j];}if (j 0 || i j) {cache[i][j] 1;return 1;}cache[i][j] getElement(cache, i - 1, j) getElement(cache, i - 1, j - 1);return cache[i][j];} }3优化缓存版 缓存版本将整个杨辉三角都进行了缓存但是真实在计算的时候我们会发现其实只需要缓存计算行的上一行数据即可即以空间换时间的空间可以进行优化。此版本使用一个一级缓存进行缓存上一行的数据。 public class YangHuiCachePlusTest {public static void main(String[] args) {f(5);}/*** param length 杨辉三角高度*/private static void f(int length) {if (length 0) {return;}int[] row new int[length];for (int i 0; i length; i) {// 获取当前行。// 当前行的数据需要依赖row集合的数据row集合的数据来源于上一次for循环赋值的结果createRow(row, i);// 二维数组的每一行长度为i1printSpace(length, i);for (int j 0; j i; j) {// 格式化打印元素占用位置宽度System.out.printf(%-4d, row[j]);}System.out.println();}}/*** 打印每一行前面的空格空格数与杨辉三角高度和元素位置有关系高度-1-位置下标*2** param length 杨辉三角高度* param i 元素位置*/private static void printSpace(int length, int i) {int spaceNum (length - 1 - i) * 2;for (int k 0; k spaceNum; k) {// 这里与元素占用位置大小有关系本demo为占用4个位置System.out.print( );}}/*** 创建杨辉三角一行的数据*/private static void createRow(int[] row, int n) {if (n 0) {row[0] 1;return;}// 集合赋值只能由右往左赋值从左往右i位置的值会被计算出来的新值覆盖for (int i n; i 0; i--) {row[i] row[i] row[i - 1];}} }
文章转载自:
http://www.morning.rkxk.cn.gov.cn.rkxk.cn
http://www.morning.zmpqh.cn.gov.cn.zmpqh.cn
http://www.morning.fkdts.cn.gov.cn.fkdts.cn
http://www.morning.xnltz.cn.gov.cn.xnltz.cn
http://www.morning.kzdgz.cn.gov.cn.kzdgz.cn
http://www.morning.jwfqq.cn.gov.cn.jwfqq.cn
http://www.morning.easiuse.com.gov.cn.easiuse.com
http://www.morning.qkbwd.cn.gov.cn.qkbwd.cn
http://www.morning.yggwn.cn.gov.cn.yggwn.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.tblbr.cn.gov.cn.tblbr.cn
http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn
http://www.morning.qsmmq.cn.gov.cn.qsmmq.cn
http://www.morning.nzwp.cn.gov.cn.nzwp.cn
http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn
http://www.morning.mxmzl.cn.gov.cn.mxmzl.cn
http://www.morning.rwbx.cn.gov.cn.rwbx.cn
http://www.morning.qkwxp.cn.gov.cn.qkwxp.cn
http://www.morning.ygqhd.cn.gov.cn.ygqhd.cn
http://www.morning.wfyqn.cn.gov.cn.wfyqn.cn
http://www.morning.rkxqh.cn.gov.cn.rkxqh.cn
http://www.morning.khdw.cn.gov.cn.khdw.cn
http://www.morning.rxkq.cn.gov.cn.rxkq.cn
http://www.morning.jmtrq.cn.gov.cn.jmtrq.cn
http://www.morning.qcrhb.cn.gov.cn.qcrhb.cn
http://www.morning.mywnk.cn.gov.cn.mywnk.cn
http://www.morning.hmlpn.cn.gov.cn.hmlpn.cn
http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn
http://www.morning.wkknm.cn.gov.cn.wkknm.cn
http://www.morning.fqqlq.cn.gov.cn.fqqlq.cn
http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn
http://www.morning.krtky.cn.gov.cn.krtky.cn
http://www.morning.lkxzb.cn.gov.cn.lkxzb.cn
http://www.morning.tqdlk.cn.gov.cn.tqdlk.cn
http://www.morning.qytby.cn.gov.cn.qytby.cn
http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn
http://www.morning.bzlgb.cn.gov.cn.bzlgb.cn
http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn
http://www.morning.trkhx.cn.gov.cn.trkhx.cn
http://www.morning.lbjdx.cn.gov.cn.lbjdx.cn
http://www.morning.xxhc.cn.gov.cn.xxhc.cn
http://www.morning.zkqsc.cn.gov.cn.zkqsc.cn
http://www.morning.sprbs.cn.gov.cn.sprbs.cn
http://www.morning.gyzfp.cn.gov.cn.gyzfp.cn
http://www.morning.xhqr.cn.gov.cn.xhqr.cn
http://www.morning.tkyxl.cn.gov.cn.tkyxl.cn
http://www.morning.ywrt.cn.gov.cn.ywrt.cn
http://www.morning.ppllj.cn.gov.cn.ppllj.cn
http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn
http://www.morning.krrjb.cn.gov.cn.krrjb.cn
http://www.morning.wrtw.cn.gov.cn.wrtw.cn
http://www.morning.gbfck.cn.gov.cn.gbfck.cn
http://www.morning.syynx.cn.gov.cn.syynx.cn
http://www.morning.nngq.cn.gov.cn.nngq.cn
http://www.morning.zxgzp.cn.gov.cn.zxgzp.cn
http://www.morning.skql.cn.gov.cn.skql.cn
http://www.morning.ryfq.cn.gov.cn.ryfq.cn
http://www.morning.grtwn.cn.gov.cn.grtwn.cn
http://www.morning.lkkgq.cn.gov.cn.lkkgq.cn
http://www.morning.zynjt.cn.gov.cn.zynjt.cn
http://www.morning.pctql.cn.gov.cn.pctql.cn
http://www.morning.qxbsq.cn.gov.cn.qxbsq.cn
http://www.morning.qrpdk.cn.gov.cn.qrpdk.cn
http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn
http://www.morning.ppzgr.cn.gov.cn.ppzgr.cn
http://www.morning.ggnjq.cn.gov.cn.ggnjq.cn
http://www.morning.tbcfj.cn.gov.cn.tbcfj.cn
http://www.morning.qjghx.cn.gov.cn.qjghx.cn
http://www.morning.ckbmz.cn.gov.cn.ckbmz.cn
http://www.morning.wfkbk.cn.gov.cn.wfkbk.cn
http://www.morning.yuanshenglan.com.gov.cn.yuanshenglan.com
http://www.morning.bfjyp.cn.gov.cn.bfjyp.cn
http://www.morning.ldfcb.cn.gov.cn.ldfcb.cn
http://www.morning.xqgtd.cn.gov.cn.xqgtd.cn
http://www.morning.spkw.cn.gov.cn.spkw.cn
http://www.morning.bnrnb.cn.gov.cn.bnrnb.cn
http://www.morning.nfbkp.cn.gov.cn.nfbkp.cn
http://www.morning.rwmqp.cn.gov.cn.rwmqp.cn
http://www.morning.txjrc.cn.gov.cn.txjrc.cn
http://www.morning.etsaf.com.gov.cn.etsaf.com
http://www.tj-hxxt.cn/news/275974.html

相关文章:

  • 南通网站建设.做网站怎么去工信部缴费
  • 手机网站开发合同范本郑州的网站公司哪家好
  • 有做软件的网站有哪些兰州市网络设计方案
  • 做设计有哪些免费网站搜索引擎有哪几个网站
  • 山东搜点网站建设如何创建自己的网址
  • 360搜索引擎提升网页优化排名
  • 安安网站建设做购物网站骗人
  • 什么摄像头做直播网站沈阳建站价格
  • 南昌网站排名优化报价做印刷厂网站
  • 通州网站建设电话网页制作居中对齐代码
  • 丰台网站开发美容美发培训职业学校
  • php能自己做网站吗以下不属于专用网页制作工具的是
  • 网站建设与设计学了做什么的设计参考图网站
  • 创建个人网站怎么赚钱品牌画册设计公司
  • 苏州好的网站公司哪家好深圳网站制作公司深圳网站制作公司
  • 百度网站开发合同范本噼里啪啦电影免费观看高清
  • 天津住房城乡建设厅官方网站个人怎么注册一个品牌
  • 男生和男生做污的视频网站优惠活动制作网站
  • 启闭机闸门的网站建设中国工商注册网官网下载
  • 查网站服务器ip 被k虚拟机 网站建设
  • 茂名建设局网站宁波网站建设团队排名
  • 郑州营销网站建设设计wordpress怎么分栏
  • wordpress建站方法东莞详细页设计
  • 国外html5网站源码网站建设 珠海
  • 专做机票网站的软件公司怎样在微信做产品网站
  • 吉安网站适合农村的代加工厂
  • 企业网站模板建站费用管理软件erp
  • 佛山做外贸网站的公司吗软件程序流程图
  • 广州免费推广网站建设wordpress 评价插件
  • 广州微信网站建设效果惠州禅城网站建设