自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 【内存分布】代码段、数据段、栈、堆

本文用于讨论进程中的代码部分,相关的数据结构是处于进程的那一段。又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。--可执行的代码/只读常量,如string定义的常量。对于任何一个普通的进程来说,他们都会涉及到5种不同的。动态申请的内存,堆是可以上增长的。用于程序运行时动态内存分配。

2023-08-10 14:14:22 484

原创 ‘mongoimport‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

原因:bin目录下没有mongoimport.exe文件解决方案:在https://www.mongodb.com/try/download/database-tools?tck=docs_databasetools下载MongoDB Database Tools。将压缩包解压到bin目录下面

2023-08-10 13:49:17 256

原创 BCD码的作用

由于2进制不方便转换为10进制,于是人们提出了8421码来表示10进制的数。

2022-09-23 18:56:55 347 1

原创 [lintcode] 76 · 最长上升子序列

描述给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。最长上升子序列的定义:最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的。https://en.wikipedia.org/wiki/Longest_increasing_subsequence样例样例 1:输入:nums = [5,4,1,2,3]输出:3解释:LIS 是 [1,2,3]样例 2:输入:nums

2021-11-28 15:52:56 156

原创 [lintcode] 151 · 买卖股票的蕞佳时机 III

描述假设你有一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来找到最大的利润。你最多可以完成两笔交易。你不可以同时参与多笔交易(你必须在再次购买前出售掉之前的股票)样例样例 1输入 : [4,4,6,1,1,4,2,5]输出 : 6思路: 这道题特别适合练习分析状态,考虑n-2到n-1所有可能的状态转移,注意一点就是可以当天买卖直接看做一次买卖就行了,减少不必要的代码量。public class Solution { /** ...

2021-11-28 14:53:21 63

原创 [lintcode]150 · 买卖股票的蕞佳时机 II

描述给定一个数组prices表示一支股票每天的价格.交易次数不限, 不过你不能同时参与多个交易 (也就是说, 如果你已经持有这支股票, 在再次购买之前, 你必须先卖掉它).设计一个算法求出最大的利润.样例样例 1:输入: [2, 1, 2, 0, 1]输出: 2解释: 1. 在第 2 天以 1 的价格买入, 然后在第 3 天以 2 的价格卖出, 利润 1 2. 在第 4 天以 0 的价格买入, 然后在第 5 天以 1 的价格卖出, 利润 1 ..

2021-11-27 18:48:54 180

原创 [lintcode] 149 买卖股的票

描述假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。样例样例1输入: [3, 2, 3, 1, 2]输出: 1说明:你可以在第三天买入,第四天卖出,利润是 2 - 1 = 1样例2输入: [1, 2, 3, 4, 5]输出: 4说明:你可以在第0天买入,第四天卖出,利润是 5 - 1 = 4样例3输入: [5, 4, 3, 2, 1]输出: 0说明:你可以不进行任何

2021-11-27 18:13:21 143

原创 [lintcode] 392 · 打劫房屋

描述假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,在不触动报警装置的情况下, 你最多可以得到多少钱 。样例样例 1:输入: [3, 8, 4]输出: 8解释: 仅仅打劫第二个房子.样例 2:输入: [5, 2, 1, 3] 输出: 8解释: 抢第一个和最后.

2021-11-27 17:24:45 63

原创 [lintcode] 516 · 房屋染色 II

描述这里有n个房子在一列直线上,现在我们需要给房屋染色,共有k种颜色。每个房屋染不同的颜色费用也不同,你希望每两个相邻的房屋颜色不同费用通过一个nxk的矩阵给出,比如cost[0][0]表示房屋0染颜色0的费用,cost[1][2]表示房屋1染颜色2的费用。找到油漆所有房子的最低成本。所有费用都是正整数样例样例1输入:costs = [[14,2,11],[11,14,5],[14,3,10]]输出: 10说明:三个屋子分别使用第1,2,1种颜色,总花费是10。样.

2021-11-27 16:51:02 242

原创 [LintCode] 664 · 数 1

描述给出一个非负整数 num,对所有满足0 ≤ i ≤ num条件的数字 i 均需要计算其二进制表示中数字 1 的个数并以数组的形式返回。样例样例1输入: 5输出: [0,1,1,2,1,2]解释:0~5的二进制表示分别是:000001010011100101每个数字中1的个数为: 0,1,1,2,1,2样例2输入: 3输出: [0,1,1,2]思路:这是一道非常有意思的题目,每次只用关心最后一位就好了,子状态就是当前数值/2的count数量。...

2021-11-25 20:25:54 79

原创 553 · 炸弹袭击

描述给定一个二维矩阵, 每一个格子可能是一堵墙W,或者 一个敌人E或者空0(数字 '0'), 返回你可以用一个炸弹杀死的最大敌人数. 炸弹会杀死所有在同一行和同一列没有墙阻隔的敌人。 由于墙比较坚固,所以墙不会被摧毁.你只能在空的地方放置炸弹.样例样例1输入:grid =[ "0E00", "E0WE", "0E00"]输出: 3解释:把炸弹放在 (1,1) 能杀3个敌人样例2输入:grid =[ "0E00"...

2021-11-25 19:47:50 81

原创 [LintCode] 110 · 最小路径和

描述给定一个只含非负整数的m*nm∗n网格,找到一条从左上角到右下角的可以使数字和最小的路径。你在同一时间只能向下或者向右移动一步样例样例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:路线为: 1 -> 3 -> 1 -> 1 -> 1样例 2:输入:grid = [[1,3,2]]输出:6解释:路线是: 1 -> 3 -> 2思路:重点在于边界

2021-11-25 18:12:19 155

原创 [LintCode] 397 · 最长上升连续子序列

描述给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。)样例样例 1:输入:[5, 4, 2, 1, 3]输出:4解释:给定 [5, 4, 2, 1, 3],其最长上升连续子序列(LICS)为 [5, 4, 2, 1],返回 4。样例 2:输入:[5, 1, 2, 3, 4]输出:4解释:给定 [5, 1, 2, 3, 4],其最长上升连续子序列(LICS)

2021-11-25 16:56:08 72

原创 [LintCode] 512 · 解码方法

描述有一个消息包含A-Z通过以下规则编码'A' -> 1'B' -> 2...'Z' -> 26现在给你一个加密过后的消息,问有几种解码的方式我们不能解码空串,因此若消息为空,你应该返回0。消息的长度n \leq 100n≤100样例样例 1:输入: "12"输出: 2解释: 它可以被解码为 AB (1 2) 或 L (12).样例 2:...

2021-11-25 16:08:27 164

原创 【CSP】201312-4 有趣的数(java实现)

题目:我们把一个数称为有趣的,当且仅当:1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。3. 最高位数字不为0。因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。请计算恰好有n位的有趣的数的个数。由于答案可能非常大,只需要输出答案除以1000000007的余数。输入:输入只有一行,包括恰好一个正整数n (4 ≤ n ≤ 1000)。

2021-11-24 20:09:33 174

原创 [lintCode] 115 · 不同的路径 II

描述"不同的路径" 的跟进问题:现在考虑网格中有障碍物,那样将会有多少条不同的路径?网格中的障碍和空位置分别用 1 和 0 来表示。1 <=n<=1001≤m≤100样例样例 1:输入:obstacleGrid = [[0]]输出:1解释:只有一个点样例 2:输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输出:2解释:只有 2 种不同的

2021-11-24 18:05:49 448

原创 【CCF CSP认证】201403-2 窗口

题目:在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。现在我们希望你写一个程序模拟点击窗口的过程。输入:输入的第一行有两个正整数,即 N 和 M。(1..

2021-11-24 17:47:17 108

原创 【CCF CSP】201403-1 相反数(java实现)

题目:有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入:第一行包含一个正整数 N。(1 ≤ N ≤ 500)。第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出:只输出一个整数,即这 N 个数中包含多少对相反数。输入样例:51 2 3 -1 -2输出样例:2import java.io.BufferedReader;import java.io.Inp

2021-11-24 17:45:28 149

原创 Android中Handler的使用

为什么使用Handler?handler用来实现Android线程的异步操作,Android只允许UI线程修改界面。Android给我们提供用来更新UI的一套机制,也是一套消息处理机制,我们可以发消息,也可以通过它处理消息。原理:创建一个Handler用来处理消息,Handler用来发送message,message进入message queue,pooler从message queue中取出message,然后将交给Handler进行处理。使用实例/** * 方式1:新建.

2021-11-24 16:09:32 3096 1

原创 201312-3 最大的矩形

题目:在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。输入:第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ..

2021-11-23 17:24:34 56

原创 【CSP】201312-2 ISBN号码(java实现)

题目:每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。识别码的计算方法如下:首位数字乘以1加上次位数

2021-11-23 17:10:22 166

原创 【CSP】201312-1 出现次数最多的数

题目:给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入:输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出:输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。输入样例:610 1 10 20 30 20输出样例:10思路:这道题是一道非常简

2021-11-23 16:26:11 55

原创 调度算法只需要一篇文章就够了

文章目录前言一、处理机调度相关基本概念1.衡量调度的常用指标2.进程调度的功能二、调度算法1.先来先服务算法(FCFS)2.短作业优先算法(FCFS)3.高响应比优先算法(HRRN)三种算法的比较4.时间片轮转算法(RR)5.优先级调度算法6.多级反馈队列调度算法三种算法的对比总结前言Tips:各种算法的学习思路1.算法思想2.算法规则3.算法优缺点4.是否产生饥饿5.抢占式还是非抢占式6.算法用于进程调度/进程调度一、处理机调度相关基本概念1.衡量调度的常用指标周转时间=完成时间-

2021-09-12 14:12:28 457 1

原创 关于注解的概述

关于注解的概述前言内置注解元注解自定义注解如何创建一个注解前言注解是jdk5.0新特性内置注解学习注解之前,先了解几个常用的内置注解@Override :重写父类中的方法,起约束检查作用@Deprecated :标记已经被淘汰的方法,属性,类,可以使用,但会有删除线@SuppressWarnings :用来抑制编译时的警告信息元注解java定义了四个标准的元注解,元注解可以用来修饰注解。@Target :指明注解可以作用的位置,参数为meun类型,TYPE,METHOD,FILED等

2020-10-31 09:42:39 146 1

空空如也

空空如也

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

TA关注的人

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