算法代码块

素数

/*** 判断素数代码块* @param n 带判断数* @return 判断结果*/
public static boolean isPrime(long n) {if (n <= 3) {return n > 1;}if (n % 2 == 0 || n % 3 == 0) {return false;}long k = (long) Math.sqrt(n) + 1;for (long i = 5; i < k; i += 6) {if (n % i == 0 || n % (i + 2) == 0) {return false;}}return true;
}

打印层数为(2n-1)形状为(*)的沙漏

static void doPrint(int c, String s) {for (int i = 0; i < c - 1; i++) {int sum = 2 * (c - i) - 1;int j = 0;while (sum > 0) {if (j < i) {System.out.print(" ");} else {System.out.print(s);sum--;}j++;}System.out.println();}for (int i = 1; i <= c; i++) {int sum = 2 * i - 1;int j = 0;while (sum > 0) {if (j < (c - i)) {System.out.print(" ");} else {System.out.print(s);sum--;}j++;}System.out.println();}
}

用法:doPrint(3,""); --------> 打印5层符号为的沙漏

绝对值排序(从大到小)

/*** 从大到小进行绝对值排序* n为数组大小*/
for (int i = 0; i < n - 1; i++) {int max = i;for (int j = i + 1; j < n; j++) {if (Math.abs(array[j]) > Math.abs(array[max])) {max = j;}}if (max != i) {int t = array[i];array[i] = array[max];array[max] = t;}
}

最小公倍数

    /*** 获取两个数的最大公约数** @param num1 数1* @param num2 数2* @return 最大公约数*/public static long getZuiDaGongYueShu(long num1, long num2) {long temp = 0;temp = num1 % num2;if (temp == 0) return num2;else return getZuiDaGongYueShu(num2, temp);}

大数相加Java实现

    /*** 用字符串模拟两个大数相加** @param addend 加数1* @param augend 加数2* @return 相加结果*/public static String getResult(String addend, String augend) {StringBuffer sb = new StringBuffer();int length1 = addend.length();int length2 = augend.length();int temp = 0;if (length1 < length2) {//2比1长String tempStr = augend;augend = addend;addend = tempStr;temp = length2;length2 = length1;length1 = temp;temp = 0;}for (int i = length2 - 1, j = length1 - 1; i >= 0 && j >= 0; i--, j--) {int a = addend.charAt(j) - '0';int b = augend.charAt(i) - '0';temp += a + b;sb.insert(0, temp % 10);temp /= 10;}if (length1 != length2) {for (int i = length1 - length2 - 1; i >= 0; i--) {temp += addend.charAt(i) - '0';sb.insert(0, temp % 10);temp /= 10;}}if (temp > 0) {sb.insert(0, temp);}return sb.toString();}

快速排序

/*** 快速排序* @param array [description]* @param left  [description]* @param right [description]*/public static void quickSort(int[] array, int left, int right) {if (left > right) {return;}//设定基准数int temp = array[left];//设置哨兵int i = left;int j = right;while (i != j) {//顺序很重要,要想从右往左找while (array[j] >= temp && i < j) {j--;}//再从左往右找while (array[i] <= temp && i < j) {i++;}//交换两个哨兵在数组中的位置//两个哨兵没有相遇if (i < j) {int t = array[i];array[i] = array[j];array[j] = t;}}//最终将基准数归位array[left] = array[i];array[i] = temp;//继续处理左边的,这是一个递归的过程quickSort(array, left, i - 1);//继续处理右边的,这是一个递归的过程quickSort(array, i + 1, right);
}

算法代码块总结(持续更新)相关推荐

  1. leetcode贪心算法题集锦(持续更新中)

    leetcode贪心算法题集锦 leetcode贪心算法题集锦(持续更新中).python 和C++编写. 文章目录 leetcode贪心算法题集锦 一.贪心算法 1.盛最多水的容器 2.买股票的最佳 ...

  2. 计算机视觉、机器学习相关领域论文和源代码大集合--持续更新……(转载)

    计算机视觉.机器学习相关领域论文和源代码大集合--持续更新-- zouxy09@qq.com http://blog.csdn.net/zouxy09 注:下面有project网站的大部分都有pape ...

  3. 初学Verilog语言基础笔记整理(实例点灯代码分析)持续更新~

    实例:点灯学习 一.Verilog语法学习 1. 参考文章 刚接触Verilog,作为一个硬件小白,只能尝试着去理解,文章未完-持续更新. 参考博客文章: Verilog语言入门学习(1) Veril ...

  4. Facial Landmark Detecion 论文及代码汇总,持续更新~~~

    转载请注明作者和出处: http://blog.csdn.net/john_bh/ 人脸关键点检测相关文献.持续更新中~~ 文章目录 Arxiv ECCV 2020 CVPR 2020 ICCV 20 ...

  5. 中文分词算法及python代码实现(持续更新中)

    文章目录 1. 机械分词算法 1.1. 正向最大匹配算法 1.2. 逆向最大匹配算法 参考链接: https://blog.csdn.net/lcwdzl/article/details/784936 ...

  6. 机器学习(周志华、李航):决策树——算法原理及代码实现(持续更新)

    文章目录 4.1 基本流程 决策树与条件概率分布 决策树学习 4.2 划分(特征)选择 4.2.1 信息增益 李书示例 周书示例 4.2.2 增益率 4.2.3 基尼指数 4.3 剪枝处理 4.3.1 ...

  7. 手游开发神器 cocos2d-x editor 教程聚合和代码下载(持续更新中)

    --------------游戏基础教程篇-------------已完成--------- 一 cocos2d-x editor工具下载和基础教程JS篇: 一 手游开发神器 cocos2d-x ed ...

  8. 算法与数据结构模版(AcWing算法基础课笔记,持续更新中)

    AcWing算法基础课笔记 文章目录 AcWing算法基础课笔记 第一章 基础算法 1. 排序 快速排序: 归并排序: 2. 二分 整数二分 浮点数二分 3. 高精度 高精度加法 高精度减法 高精度乘 ...

  9. WEB前端2020年更新实用代码段(持续更新)

    1.使用解构获取json数据 let jsonData = {id: 1, status: "OK", data: ['a', 'b'] }; let { id, status, ...

最新文章

  1. 巧用360加快您的开机速度
  2. 【SpringBoot】使用Maven添加jQuery、bootstrap等依赖(WebJars)
  3. java百度云文件上传_关于如何在自己项目集成百度云BCE文件上传STS方案
  4. Silverlight专题(15) - 你自己的视频播放器之自定义MoveToPointSlider
  5. 你所不知道的模块调试技巧 - npm link #17
  6. 基于PyQt的扫雷游戏实现_下篇
  7. 编写第一个OpenACC程序
  8. 彼尔盖茨的十句话,绝对让你改变一生
  9. 学习Spring必学的Java基础知识(2)----动态代理
  10. 机器学习自学札记(1)
  11. android获取浏览器cookie,获取浏览器cookie
  12. 汽车电子电气架构EEA演变
  13. codeforces Star sky(二维前缀和)
  14. 《Java编程思想》 第6章 访问权限控制
  15. c语言小蜜蜂游戏编程,GMS2从零做游戏:小蜜蜂(一)
  16. vue双花括号的使用
  17. 【图形学数学基础】第一章
  18. 「 LaTex 」 写论文,插入图片方法
  19. 第二阶段-面向对象(四)
  20. Ubuntu 16.04安装ROS Kinetic

热门文章

  1. MyBatis 缓存详解-二级缓存介绍
  2. 自动装配有哪些局限性?
  3. 织入业务代码-IModifyService
  4. maven导入jar包时冲突的解决
  5. 绕过网关访问图片上传并解决跨域问题
  6. jvm_虚拟机参数讲解(二)
  7. 瑞士桁架机器人_机器人库晚报:人工智能可以在实验室中预测人的血糖水平
  8. airflow零基础入门
  9. PHP mail()可能导致的问题
  10. 彻底卸载WinStdup