- 博客(15)
- 收藏
- 关注
原创 Java 数组切片函数
1. copyOfRange()System.arraycopy(src, srcPos, dest, destPos, length);src表示源数组srcPos表示源数组中拷贝元素的起始位置。dest表示目标数组destPos表示拷贝到目标数组的起始位置length表示拷贝元素的个数2. arraycopy()import java.util.Arrays;Arrays.copyOfRange(original,int from,int to)original 原始数组fro
2021-05-28 23:19:22 6073 2
原创 Java中int与char、String的相互转换
int转charint类型转char类型,将数字加一个‘0’,并强制类型转换为char即可。int number = 9;char cNumber= (char) (number+'0');char转intchar类型装int类型,将字符减一个‘0’即可。char cNumber2='3';int number2=cNumber2-'0';...
2021-04-25 16:30:51 181
原创 Java实现十进制转换二进制的三种方法
1. 除2取余法public void binaryToDecimal(int n){ int t = 0; //用来记录位数 int bin = 0; //用来记录最后的二进制数 int r = 0; //用来存储余数 while(n != 0){ r = n % 2; n = n / 2; bin += r * Math().pow(10,t); t++; }
2021-04-19 21:50:26 2011
原创 剑指offer34——第一个只出现一次的字符
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写,从0开始计数)。示例输入“google”返回值4思路分析本题最直接最容易想到的思路就是创建一个两层的循环,第一层循环固定一个目标字符,第二层循环从整个字符串中寻找是否有与目标字符相同的字符(注意第二层循环一定要刨除目标字符本身)。若存在相同字符,则第一层循环进入下一次循环;若不存在相同字符,则输出该目标字符的下标。..
2021-04-17 19:14:32 111
原创 Java中部分变量类型转换方法
1.十进制转成二进制String s = Integer.toBinaryString(n) //将十进制数转成字符串,例如n=5 ,s = “101”2.将字符串转成整形int a = Integer.valueof(“1002”); //当然s只能是数字类的字符串或者int a = Integer.parseInt(“1002”);3.将整形转成字符串String s = String.valueof(1025); 直接转成了4.将整形转成十六进制的数String s = Int
2021-04-16 14:31:21 103
原创 经典算法题——平衡二叉树
- 题目描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。- 示例:输入:{1,2,3,4,5,6,7}输出:true- 思路分析:本题很容易想到的第一个想法就是采用递归的方法从二叉树的根节点自上而下遍历,再配合上左右子树高度差小于等于1和左右子树都是平衡二叉树这两个
2021-04-14 18:37:15 634
原创 剑指offer28——数组长度中出现超过一半的数组
题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。示例:输入:[1,2,3,2,2,2,5,4,2]返回值:2思路分析:本题重点考察哈希表这一重要数据结构。首先创建一个全零的数组作为哈希表,然后遍历给定数组中元素。每遍历一个元素,便将以该元素值作为下标的哈希表项数值加1。最后遍历哈希表,若其中某项的值大于给定数组长度的一半.
2021-04-09 14:25:26 72
原创 LaTex多张子图并排排列方法
在撰写论文过程中经常会插入多张图片并排排列,以达到对比实验结果的目的。本文总结了使用\subfigure和minipage进行多个子图排列的两种方法。第一种是一列多个图像作为一个子图,赋予同一个名字。第二种是单个图像作为一个子图,赋予一个名字。但两种的方式的第一步都是先导入subfigure包。\usepackage{subfigure}一、多图排列\begin{figure*} \centering \subfigure[subfig1]{ \begin{minipage}[t]{0.33
2020-11-03 20:24:56 29846 2
原创 北京工业大学研究生算法作业(五)——分支限界法作业分配
Readme运行环境:Win10+python3.7.3IDE:Pycharm分析设计:有n份作业分配给n个人去完成,每人完成一份作业。假定第i个人完成第j份作业需要花费cij时间,cij>0,1≦i,j≦n。试设计一个分支界限算法,将n份作业分配给n个人完成,使得总花费时间最少。这是一个寻找最优解的问题,通常的解决办法就是穷举出所有结果,找出最优解。分支界限算法是为了有效的避...
2019-12-14 11:37:55 1154
原创 北京工业大学研究生算法作业(四)——回溯法作业分配
Readme运行环境:Win10+python3.7.3IDE:Pycharm分析设计:有n份作业分配给n个人去完成,每人完成一份作业。假定第i个人完成第j份作业需要花费cij时间,cij>0,1≦i,j≦n。试设计一个回溯算法,将n份作业分配给n个人完成,使得总花费时间最少。这是一个寻找最优解的问题,通常的解决办法就是穷举出所有结果,找出最优解数据结构:输入数据来源于文件...
2019-12-14 11:35:54 596
原创 北京工业大学研究生算法作业(三)——哈夫曼编码
Readme运行环境:win10 + pycharm + python3.7数据文件:input_assign03_01.dat,input_assign03_02.dat,input_assign03_03.dat,input_assign03_04.dat,input_assign03_05.dat,input_assign03_06.dat,input_assign03_07.dat...
2019-12-14 11:32:29 642 1
原创 北京工业大学研究生算法作业(二)——01背包问题
算法思路利用动态规划算法,寻找每个状态下背包内物品的最优解,最终得出最终最优解。Readme运行说明:7个.dat后缀文件保存了7组地址数据储存于data文件夹中,将.py和.exe文件放在data的父级文件夹中。直接运行01Packet.exe,将显示每组数据的原始数值,和背包价值最优解以及放入背包的物品序号。程序窗口将保持300秒。数据结构:整型product_count:物品数量...
2019-12-14 11:28:59 399
原创 北京工业大学研究生算法作业(一)——邮局选址
北京工业大学研究生算法作业(一)——邮局选址算法思路Readme代码算法思路本题问题简化成寻找N个城市x,y坐标的中位数dx,dy,解决方法就是利用最经典的分治算法的思路,通过不断递归与快速排序实现。本程序使用Python实现。Readme运行环境:win10 + pycharm + python3.7运行说明:7个.dat后缀文件保存了7组地址数据,将.py和.exe和.dat文...
2019-12-14 11:21:12 666
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人