算法
读书札记2022
这个作者很懒,什么都没留下…
展开
-
java 求正整数的每位数相加的和
//求正整数的每位数相加的和 public int getSum(int num){ int sum = 0; while (num>0){ sum += (num % 10); num /= 10; } return sum; }测试用例:num : 1008601返回:sum : 16...原创 2021-02-04 12:49:14 · 709 阅读 · 0 评论 -
Java 二分查找
public class Test { public static void main(String[] args) { //测试 //[-1,0,3,5,9,12] int[] a = {-1,0,3,5,9,13}; int target = 13;//目标值 System.out.println(new Solution().search(a, target));//5 }}class Solutio原创 2021-01-23 17:33:32 · 71 阅读 · 0 评论 -
时间复杂度和空间复杂度
评估算法性能的两个指标:时间复杂度和空间复杂度。时间复杂度代表执行时间;空间复杂度代表内存消耗。原创 2021-01-23 16:29:30 · 87 阅读 · 0 评论 -
Java 利用系统时间计算程序算法耗费的时间 精确到纳秒
功能:可以简单比较多个算法哪一个更快。实例: long starTime = System.currentTimeMillis(); //具体算法代码 long endTime = System.currentTimeMillis(); long time = endTime-starTime;说明:System.currentTimeMillis()是java中常用的获取系统时间的方法,它返回的是1970年1月1日0点到现在经过的原创 2020-08-02 08:19:56 · 490 阅读 · 0 评论 -
Java实现冒泡排序以及冒泡排序的简单优化
冒泡排序:import java.util.Arrays;/** * 冒泡排序 * */public class Test2 { public static void main(String[] args) { int[] a = {1,2,4,3,9,5,2,20,100,99,0,3,2,1}; for (int i = 0; i < a.length; i++) { //如果不多减1会出现数组越界异常,因为下面使原创 2020-07-25 12:28:56 · 161 阅读 · 0 评论 -
Java反转一维数组的两种方法
public class Test1 { public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7,8,9,10};//要反转的数组 int[] c = re(arr);//调用自定义的反转数组的方法 //打印反转后的数组 for (int i = 0; i < c.length; i++) { System.out.pr原创 2020-07-25 09:08:23 · 1010 阅读 · 0 评论 -
用C++实现冒泡排序
代码:#include <iostream>using namespace std;int main() { /* 冒泡排序 */ int arr[5] = { -1,3,1,10,5 }; int length = sizeof(arr) / sizeof(arr[0]);//5 int count = length - 1;//4 int temp; for (int i = 0; i < count; i++) { for (int j = 0原创 2020-06-28 19:51:01 · 200 阅读 · 0 评论 -
用C++找出一维数组中的最大元素
1.找出一维数组中的最大元素(找出最小元素思路相同):#include <iostream>using namespace std;int main() { int arr[5] = { 1,200,500,100,200 }; int length = sizeof(arr) / sizeof(arr[0]);//数组长度 int max = 0; for (int i = 0; i < length; i++) { if (arr[i] > max)原创 2020-06-27 08:42:36 · 2726 阅读 · 0 评论 -
用C语言简单找出数组中的最大元素和最小元素
#include <stdio.h>int main(void) { int a[11]={2,21,4,4,0,101,22,2,1,1,10}; int max = a[0]; int min = a[0]; for(int i = 0;i<11;i++) { if(a[i]>max){ max = a[i];原创 2020-06-03 09:45:30 · 3305 阅读 · 1 评论