自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr IMMUNIZE的博客

日常刷题,大家一起交流进步。

  • 博客(20)
  • 收藏
  • 关注

原创 20191026(补):(leetcode习题)最长的斐波那契子序列的长度

最长的斐波那契子序列的长度题目大致思路代码实现题目给定一个严格递增的正整数数组形成序列,找到 A 中最长的斐波那契式的子序列的长度。如果一个不存在,返回 0 。两个示例:输入: [1,2,3,4,5,6,7,8]输出: 5解释:最长的斐波那契式子序列为:[1,2,3,5,8] 输入: [1,3,7,11,12,14,18]输出: 3解释:最长的斐波那契式子序...

2019-10-27 18:17:06 182

原创 20191025:(leetcode)摆动序列

摆动序列题目大致思路代码实现题目摆动序列:如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。输入: [1,7,4,9,2,5]输出: 6 解释: 整...

2019-10-25 23:21:45 218

原创 20191024:单调栈问题的引出

单调栈问题的引出题目代码实现题目Leetcode习题1124:表现良好的最长时间段做上题时自己暴力的做法会超时,但是时间不允许继续往下探究,明天完成单调栈的探究。代码实现1124题暴力解法的代码,偶尔超时,偶尔通过,但根据时间复杂度来算的话应该是超时的。package com.immunize.leetcode.longestWPI;import java.util.Lin...

2019-10-24 22:08:16 124

原创 20191023:(leetcode习题)最大连续1的个数 III

最大连续1的个数 III题目大致思路代码实现题目给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释: [1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。输入:A =...

2019-10-23 22:33:24 301

原创 20191022:(leetcode习题)山脉数组的峰顶索引

山脉数组的峰顶索引题目大致思路代码实现题目我们把符合下列属性的数组 A 称作山脉: A.length >= 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] 给定一个确定为山脉的数组,返回任...

2019-10-22 23:14:11 156

原创 20191021:(leetcode习题)乘积小于K的子数组

乘积小于K的子数组题目大致思路代码实现题目给定一个正整数数组 nums。找出该数组内乘积小于 k 的连续的子数组的个数。输入: nums = [10,5,2,6], k = 100输出: 8解释: 8个乘积小于100的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。需要注意的是 [10,5,2] 并不是乘积小于1...

2019-10-21 21:12:22 265

原创 20191020:(leetcode系习题)检测大写字母

检测大写字母题目大致思路代码实现题目给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:- 全部字母都是大写,比如"USA"。- 单词中所有字母都不是大写,比如"leetcode"。- 如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。否则,我们定义这个单词没有正确使用大写字母。输入: "USA"输出: True...

2019-10-20 23:06:19 224

原创 20191019:(leetcode习题)第K个语法符号

第K个语法符号题目大致思路代码实现题目在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。给定行数 N 和序数 K,返回第 N 行中第 K个字符。(K从1开始)大致思路/** * 把上一行的0换成01,1换成10 * * 0 * * 0 1 * * 0 1 1 0 * * 0 1 1 0 1 0 0 1 * * 规律: 第...

2019-10-19 21:27:13 2028

原创 20191018:(leetcode习题)颜色分类

颜色分类题目大致思路代码实现题目给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意: 不能使用代码库中的排序函数来解决这道题。输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决...

2019-10-18 23:01:57 286

原创 20191017:C++入门经典书籍学习目录01

C++入门经典书籍学习目录01章节结构源文件获取章节结构源文件获取百度网盘链接提取码:tjcf

2019-10-17 23:33:51 249

原创 20191016:(leetcode习题)寻找两个有序数组的中位数

寻找两个有序数组的中位数题目大致思路代码实现题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。大致思路先合并两个数组,再排序,最后根据长度为奇数或偶数来计算中位数即可。代码实现package com.immuniz...

2019-10-16 23:39:48 194

原创 20191015:基数排序法

基数排序法描述示例代码实现描述基数排序法则是属于分配式排序, 基数排序法又称桶排序法顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些「桶」中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度O(nlog®m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的比较性排序法。示例/*73, 22, 93, 43, 55, 14, 28, 65,...

2019-10-15 23:11:16 156

原创 20191014:快速排序1.2

快速排序1.2描述代码实现描述昨天的文章提到了参考点的选择是快速排序法的效率关键之一,在这边的快速排序法的轴选择方式更加快了快速排序法的效率。代码实现// QuickPartition.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#includ...

2019-10-14 23:47:39 116

原创 20191013:快速排序1.1

快速排序1.1描述代码实现描述在昨天的文章中,每次将最左边的元素设为轴,而快速排序法的加速在于轴的选择,在这个例子中,只将轴设定为中间的元素,依这个元素作基准进行比较,这可以增加快速排序法的效率。代码实现C++实现:// Quick2.cpp : 定义控制台应用程序的入口点。//#include "StdAfx.h"#include <stdio.h>#includ...

2019-10-13 23:41:11 116

原创 20191012:快速排序

快速排序描述代码实现描述快速排序法(quick sort)是目前所公认最快的排序方法之一(视解题的对象而定),虽然快速排序法在最差状况下可以达O(n2),但是在多数的情况下,快速排序法的效率表现是相当不错的。快速排序法的基本精神是在数列中找出适当的轴心,然后将数列一分为二,分别对左边与右边数列进行排序,而影响快速排序法效率的正是轴心的选择。代码实现#include "StdAfx.h"...

2019-10-13 01:42:42 91

原创 20191011:冒泡排序的改良版--Shaker排序

Shaker排序法描述代码实现描述简单来讲,Shaker排序就是一个两个方向的冒泡排序,也称为鸡尾酒排序,双向冒泡排序。代码实现package com.immunize.Arithmetic;/** * 气泡排序或冒泡排序 改进版 * * Shaker排序法,双向冒泡排序,鸡尾酒排序 * * @author Mr IMMUNIZE * */public class ...

2019-10-12 00:04:37 206

原创 20191010:希尔排序代码详解

Shell排序实现算法描述代码实现算法描述Shell排序法最初是D.L Shell于1959所提出,假设要排序的元素有n个,则每次进行插入排序时并不是所有的元素同时进行时,而是取一段间隔。Shell首先将间隔设定为n/2,然后跳跃进行插入排序,再来将间隔n/4,跳跃进行排序动作,再来间隔设定为n/8、n/16,直到间隔为1之后的最后一次排序终止,由于上一次的排序动作都会将固定间隔内的元素排...

2019-10-11 00:30:48 155

原创 20191007:选择排序,插入排序,冒泡排序详解

选择排序,插入排序,冒泡排序详解描述图例代码实现描述选择排序:将要排序的对象分作两部份,一个是已排序的,一个是未排序的,从后端未排序部份选择一个最小值,并放入前端已排序部份的最后一个。插入排序:像是玩朴克一样,我们将牌分作两堆,每次从后面一堆的牌抽出最前端的牌,然后插入前面一堆牌的适当位置。冒泡排序:顾名思义,就是排序时,最大的元素会如同气泡一样移至右端,其利用比较相邻元素的方法,将大的...

2019-10-07 23:44:51 173

原创 20191004:包装类Integer,int,String类的相互转换

Integer,int,String类的相互转换框架代码实现框架代码实现package com.immunize.review;/** * 各类型转换 * * @author Mr IMMUNIZE * */public class Transform { public static void main(String[] args) { Integer i1 = ...

2019-10-04 18:10:48 122

原创 20191001:String,StringBuffer,StringBuilder类异同辨析

String,StringBuffer,StringBuilder类异同辨析框架String对象的建立方法及底层StringBuffer与String的区别StringBuilder与StringBuffer区别框架String对象的建立方法及底层通过如下代码展示两种建立方法package com.immunize.review;/** * String对象的建立方法及底层 ...

2019-10-01 17:46:42 133

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除