自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习笔记:泛型、反射。

1.JAVA泛型Java 泛型(generics) 是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。Java泛型可以保证如果程序在编译时没有发出警告,运行时就不会产生ClassCastException异常。泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型,或者是某个方法的返回值的类型,或者是参数类型。class Person<E>{

2022-04-27 21:00:54 246

原创 LeetCode——整数翻转

题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−2^31, 2^31− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。代码分析: 一个32位的有符号整数再经过翻转之后,可能会存在溢出(也就是超出了int的范围)的问题,所以我们要对这个问题进行处理;那...

2019-05-28 17:19:36 194

原创 JAVA基础之map集合

创建Map子对象:Map<String,String> map = new HashMap<String,String>();Map的常用功能:(1)映射功能 :就是将key映射到value,如果key存在,则覆盖value,并将原来的value返回,如果key不存在,则返回null。Vput(Kkey, V value)例如:ma...

2019-05-28 15:40:42 198

原创 LeetCode——两数之和

题目介绍: 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。方法一 :暴力循环法class Solution { public int[] twoSum(int[] nums, int targe...

2019-05-26 17:08:30 154

原创 替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。、思路:这道题还是比较简单的,主要就用了java中stringbuffer里的几个函数来解决问题;主要实现是通过append方法来实现对新的字符串的构建,如果原字符串某字符不是空格,则将该字符复制到新字符串相应的位置上,如...

2019-02-18 13:51:33 102

原创 二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。方法一:遍历二维数组一一比较;   时间复杂度O(m*n); 方法二:题目说明每一行都是递增有序排列的,提到关键词“有序” “查找”就很容易想到二分查找,我们对每一行都进行二分查找即可...

2019-02-16 15:10:45 113

原创 ADA Ⅱ型数(逆向思考+枚举)

题目描述 ADA Ⅱ型数是指能表达成p^2与q^3两者之乘积的整数,p和q均大于1且不相等。72=2^3*3^2, 是最小的ADA Ⅱ型数。给定一个整数n,判定其是否为ADA Ⅱ型数。输入少于4000行数据组成,每行一个整数n(0&lt;n&lt;2^31)。输出 每个整数n对应一行输出,如果是ADA Ⅱ型数,则输出一行YES,否则输出一行NO。样例输入172样...

2018-09-17 21:46:09 547

原创 带权路径长度(c++优先队列)

思路:本题是求带权路径长度,可以用常规的构造哈夫曼树求带权路径长度;此外带权路径长度还是哈夫曼树所有非叶子节点的和;本题我采用的是通过求所有非叶子节点的和来就带权路径长度;第一次的代码如下:#include&lt;bits/stdc++.h&gt;//包含了所有c++头文件using namespace std;int main(){ int n,i,sum=0; ...

2018-09-08 14:02:12 2569

原创 DFS_棋盘问题

#include&lt;bits/stdc++.h&gt;//包含所有头文件char str[10][10];//输入的字符串int a[10];//标志数组int cnt;//方案数int n;//行int k;//旗子数目void dfs(int x,int y){ if(k==y) { cnt++; return; ...

2018-08-31 21:29:28 248

原创 只出现一次的数字(位运算)

一个数异或0结果为它本身,一个数异或它本身结果为0,而且异或运算满足a^b^c=a^(b^c); 题目一:给定一个非空整数数组,除了一个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。思路:设置一个变量ret异或每个数组元素,最后相同的都抵消为0,那个唯一的数字异或0为它自己即为答案。代码如下:#include&lt;stdio.h&gt;int m...

2018-08-21 18:50:45 382

原创 旋转数组

题目描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释: 向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4]解题思路:方法一:本方...

2018-08-12 15:11:52 121

原创 从排序数组中删除重复项

题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1,2。不需要考虑数组中超出新长度后面的元素。示例...

2018-08-11 22:17:50 153

原创 HDU-1181-变形课(DFS)

解题思路:1.首先找见首字母为‘b’的单词;                  2.判断该单词的末尾字母是否为‘m’;                  3.如果是则Yes.  成功,结束;                  4.如果不是‘m’,则寻找下一个单词使下一个单词的首字母和当前单词的末尾字母相同,重复步骤2,直至成功找见‘m’或者找不到符合要求的单词停止;大体思路如上...

2018-08-07 16:32:13 262

原创 从简单的全排列看深度优先搜索(DFS)

题目:给定一个数n,生成1~n的全排列。(n的范围1~9)比如n=3;则全排列为123,132,213,231,312,321;题解:利用DFS深度优先搜索的方法解决问题,简单清晰的认识一下DFS。代码如下:#include&lt;stdio.h&gt;#include&lt;string.h&gt;int a[10],book[10],n;//此处说明一下:c语言的全局变量...

2018-08-06 10:56:56 249

原创 大斐波那契数(大数加法的思想+预处理提前实现)

解题思路:斐波那契,我们很熟悉的问题,但是这道题和平常不一样,这道题的数据非常大,用我们一般用的递归或者递推的方法不仅时间复杂度低效,精度也根本达不到那个数据要求的深度。本题中要求求到1000个斐波那契数,要知道第1000个斐波那契数的位数是非常非常多的,普通的数据类型是不可能做到的,所以就要用到大数加法的思想。代码如下:#include&lt;stdio.h&gt;#incl...

2018-07-30 21:30:11 1562

原创 大数加法

题目:输入两个数A和B,计算A+B。(A和B的数据非常大噢)。代码如下:若需要进行多个大数相加,可以将下列代码改为一个加法函数,多次调用即可。#include&lt;stdio.h&gt;#include&lt;string.h&gt;int main(){ int i; int start=0,j=1099; int lena,lenb; ch...

2018-07-30 11:46:45 156

原创 懂二进制(牛客网)

解题思路:1.对输入的两个数进行异或运算,运算符为^;  相异位1  相同为0  2.统计异或运算后所得数中1的个数即可;难点:如何统计一个数中1的个数?     重要公式:n=n&amp;(n-1) 代码如下:#include&lt;stdio.h&gt;int count(int m, int n){ int q=0; int cnt1=0;...

2018-07-23 17:37:32 407

原创 HDU 18岁生日

在写代码之前,首先得搞明白什么是闰年,什么是平年。闰年:能被4整除且不能被100整除的数是闰年;能被400整除的也是闰年;平年:不是闰年就是平年;代码中判断是用else即可。程序判断闰平年代码C语言:解题思路: 这道题算是很简单的一道题。 首先考虑什么时候没有18岁生日,只有当他是2月29日出生的时候才没...

2018-07-19 14:58:29 238

空空如也

空空如也

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

TA关注的人

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