
xiaocai的算法之路
xiao_cai_istan
一个自学的小菜
展开
-
两数之和-无序数组
给定一个整数数组numbers,从数组中找出两个满足相加之和等于目标数target。假设每个数组只对应唯一的答案,而且不可以重复使用相同元素。返回两数的下标值,以数组形式返回。下标值不可相等直接两层循环遍历,然后让每个数值进行相加,直到等于target的时候跳出循环c代码如下:#include <stdio.h>int main(int argc, char const *argv[]){ int arr[6] = {1,2,3,4,5,6}; ..原创 2022-04-18 22:31:59 · 256 阅读 · 0 评论 -
两数之和-有序数组
给定一个升序排列整数数组numbers,从数组中找出两个满足相加之和等于目标数target。假设每个数组只对应唯一的答案,而且不可以重复使用相同元素。返回两数的下标值,以数组形式返回。下标值不可相等。解法一:暴力破解直接两层循环遍历数组,让这个数组中的数值两两相加,如果最后没有找到这两个数,就返回null#include<stdio.h>int main(int argc, char const *argv[]){ int arr[7] = {2,..原创 2022-04-18 22:28:16 · 217 阅读 · 0 评论 -
删除排序数组中的重复项
题目:一个有序数组nums,原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度不能使用额外的数组空间,必须原地修改输入数组并在使用o(1)额外空间的条件下完成例如:输入:【0,1,2,2,3,3,4】输出:5使用双指针算法public static int removeList(int[] nums){ if(nums.length == 0){ return 0; } int i = 0; for(int..原创 2022-04-18 22:27:03 · 78 阅读 · 0 评论 -
统计素数个数-爆破
直接将统计的素数写入循环,可以从2开始,判定2到要判定的数减1是否有数能被整除,若没用,为素数,若有,则不是public static int bf(int n){ int count = 0; for(int i = 2; i < n; i++) { count += isPrime(i) ? 1 :0; // 判定当前数值是否为素数,是返回1,不是则为0 } return count;}private static boole..原创 2022-04-10 22:05:25 · 324 阅读 · 0 评论 -
统计素数个数-埃氏筛选
找到每个素数的倍数数,建立一个布尔数组,将倍数数改为true,表示为非素数,其余false表示为素数。public static int eratost(int n){ boolean[] isPrime = new boolean[n];//建立一个布尔数组,将其值全部填充为false int count = 0; for(int i = 2;i < n;i++) { if(!isPrime[i]){ //若此标记位为..原创 2022-04-10 22:02:54 · 1054 阅读 · 0 评论