![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 51
海绵hong
懒散是常态,fw是本质
展开
-
leetcode-数组元素积的符号(简单)
真的简单的算法题,不骗你原创 2022-10-27 15:35:34 · 209 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列原创 2022-07-07 16:53:46 · 214 阅读 · 3 评论 -
Java实现人机对战(石头剪刀布)and 正则表达
首先我们来整理一下这个的思路:package MySQL.project_.Cai;import java.util.Random;import java.util.Scanner;/*请编写一个猜拳的游戏有个人 Tom,设计他的成员变量. 成员方法, 可以电脑猜拳. 电脑每次都会随机生成 0, 1, 20 表示 石头 1 表示剪刀 2 表示 布并要可以显示 Tom的输赢次数(清单), 假定 玩三次. */// 测试类,主类public class Cai { //.原创 2022-05-18 20:33:13 · 445 阅读 · 0 评论 -
算法入门--递归
不死神兔:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?规律:1 1 2 2+1 3+2 5+3.。。。。。这就是暴力美学://不死神兔public class text14 { public static void main(String[] args) { int[] a = new int[20]; a[0] = 1; a[1] = 1;.原创 2022-03-03 20:31:21 · 426 阅读 · 10 评论 -
带你了解二分查找
大家是不是对于二分查找比较迷茫,现在我来给大家讲一个故事:有一天小明到图书馆借了 N 本书,出图书馆的时候,警报响了,于是保安把小明拦下,要检查一下哪本书没有登记出借。小明正准备把每一本书在报警器下过一下,以找出引发警报的书,但是保安露出不屑的眼神:你连二分查找都不会吗?于是保安把书分成两堆,让第一堆过一下报警器,报警器响;于是再把这堆书分成两堆…… 最终,检测了 logN 次之后,保安成功的找到了那本引起警报的书,露出了得意和嘲讽的笑容。于是小明背着剩下的书走了。 从此,图书馆丢了 N...原创 2022-01-09 14:34:25 · 171 阅读 · 6 评论 -
算法--无重复字符的最长字串(详细)
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度class Solution { public int lengthOfLongestSubstring(String s) { //如果s为空,length不大于0,是一个空串,就没有向下执行的必要了 if(s != null && s.length() > 0 && s != ""){ //String -> cha...原创 2022-01-07 19:24:39 · 369 阅读 · 5 评论 -
寻找两个正序数组的中位数——冒泡排序(归并排序)
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。冒泡算法class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int len = nums1.length + nums2.length; int[] nums3 = new int[len]; for (int i原创 2021-11-19 09:26:47 · 397 阅读 · 1 评论 -
力扣练习题(数组中数据反转)
力扣练习题(数组中数据反转)要求:int[] arr = {12,23,34,45,56,67,78,89,90};变为:int[] arr = {90,89,78,67,56,45,34,23,12};思路:1. 定义一个数组用静态初始化完成元素的初始化2. 循环遍历数组,定义两个索引变量,判断条件是开始索引小于结束索引3. 变量交换4. 遍历索引 public static void main(String[] args) { int[] arr = {12,23,原创 2021-11-18 10:07:16 · 157 阅读 · 1 评论 -
java中countinue,.random(用于产生一个随机数)入门可看
1.countinue:用在循环中,基于条件控制,跳过其次循环体内容的执行,继续下一次的执行break:用在循环中,基于条件控制,终止循环体内容的执行,也就是结束当前的整个循环eg:public class zhou{ public static void main(String[] arge){ for(int i==0){ countinue; //break; } Syste...原创 2021-10-14 19:41:33 · 255 阅读 · 0 评论 -
Java算法(两数之和)
给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], tar...原创 2021-09-11 21:02:58 · 212 阅读 · 0 评论 -
快速排序(抽象理解,最快了解)
快速算法就是 选取第一个数为基准 将比基准小的数交换到前面,比基准大的数交换到后面 对左右区间重复第二步,直到各区间只有一个数原创 2021-06-10 22:05:17 · 163 阅读 · 6 评论 -
归并算法(详细见解)
原理:使用递归方法来实现归并排序时,核心思想是两个有序子序列的合并,注意这里是有序子序列的合并,因此下面要做两件事,整个过程如下图所示:(1)将待排序序列从中间一分为二,对左右两边再进行递归分割操作,得到n个相互独立的子序列;(2)对n个独立的子序列递归的执行合并操作,最终得到有序的序列。...原创 2021-06-09 20:11:27 · 4708 阅读 · 4 评论