自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java删除链表的倒数第n个节点

题目要求:直接获得链表长度并遍历知识点:链表长度获取;在头部节点前面加入一个新节点;class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dummy = new ListNode(0, head); int length = getLength(head); ListNode cur = dummy; for (in

2022-01-28 22:56:03 175

原创 JAVA 两数之和(输入有序数组)

给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素来源:力扣(LeetCode)链接:https://leetcode

2022-01-25 23:05:42 257

原创 JAVA 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数方法:双指针(解释使用官方解释)官方解答:class Solution { public void moveZeroes(int[] nums) { int n = nums.length, left = 0, right = 0;

2022-01-25 22:37:05 167

原创 JAVA 轮转数组

给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [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]示例 2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99,-1,-

2022-01-22 23:35:23 274

原创 JAVA 双指针——有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序题目已经给出排序数组的前提了,所以我们只需要在这个基础上利用双指针进行平方数的对比,将较大的数从后往前放入新的数组中即可。class Solution { public int[] sortedSquares(int[] nums) { int a = nums.length; int[] b = new int[a]; int

2022-01-21 22:27:17 384

原创 JAVA搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-insert-position著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 :输入: nums = [1,3,5,6], target = 5输出: 2输入: nums = [1,3,

2022-01-20 23:28:45 112

原创 JAVA回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-number著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。暴力解法(将整数转为字符)class Solution { public boolean i

2021-12-28 23:19:32 208

原创 Java二分查找

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。输入: nums = [-1,0,3,5,9,12], target = 9输出: 4输入: nums = [-1,0,3,5,9,12], target = 2输出: -1使用二分法class Solution { public int search(int[] nums, int target) {

2021-12-19 20:12:47 427

原创 JAVA 方法调用,利用Arrays.toString输出数组内容

定义一个方法类比如:class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>(); for (int i = 0; i < nums.length; ++i) { if (hashtable.containsKey.

2021-12-17 15:24:59 1277

原创 Java两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标比如:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。方法:暴力枚举,两层循环class Solution { public int[] twoSum(int[] nums, int target) { int n

2021-12-17 15:07:35 731

原创 Java替换空格

第一次使用java的记录,做的磕磕绊绊,还参考了许多。。。请实现一个函数,把字符串 s 中的每个空格替换成"%20"。输入:s = “We are happy.”输出:“We%20are%20happy.”使用字符数组class Solution { public String replaceSpace(String s) { int a = s.length(); char[] r = new char [a*3]; int n = 0

2021-12-17 10:54:26 515

原创 搜索旋转排序数组

在leetcode评论里找到了较为清晰易懂的解答,记录下来参考链接:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/solution/pythonjs-er-fen-fa-33-sou-suo-xuan-zhuan-pai-xu-sh/已知一个有序数组,我们随便选择一个点,将数组分为前后两部分,其中一部分一定是有序的,那么,如何区分数组的这两部分呢?解题思路:二分法找出有序区间具体步骤:我们可以先找出mid

2021-11-25 00:59:58 346

原创 在原数组中移除零的两种方法

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。使用remove()和append()class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything,

2021-11-17 13:42:39 1281

原创 python 进制转换

二进制转十进制a = "1010" # type strb = int(a,2)十进制转二进制print('{0:b}'.format(3))附上关于python中format的用法:https://www.cnblogs.com/lovejh/p/9201219.htmlbin函数bin(x) 將一个整数x转换为二进制的字符串表示,转换后的是一个字符串,开头的"0b"表示是二进制。bin(1) = '0b1'bin(2) = '0b10'bin(3) = '0b11'.

2021-11-16 22:53:59 1111

原创 只出现一次的数字II

使用enumerate该思想使用了额外的空间,首先找出nums中的所有元素,存放在数组a中。循环数组a,使用enumerate返回数组a中每个元素的下标,答案的索引位置只有一个,所以长度为1。判断当长度为1时,返回数组a中对应的元素。官方解法:使用二进制位class Solution: def singleNumber(self, nums: List[int]) -> int: ans = 0 for i in range(32): .

2021-11-12 23:48:39 243

原创 在排序数组中查找元素的第一个和最后一个位置

关于这道题,我使用了两种方法:使用enumeratenums = [1,2,4,5,6,6,6,6,7,8,9]target = 6index = [i for i ,x in enumerate(nums) if x==target]返回对应target在数组中的下标:[4, 5, 6, 7]如果使用index来做,只会返回target在数组中第一个位置:nums = [1,2,4,5,6,6,6,6,7,8,9]target = 6newindex = nums.index(

2021-11-10 20:15:54 189

原创 最长回文子串

什么是回文子串?该字符串无论从左读还是从右读,所读的顺序是一样的,也就是说回文串是左右对称的。双指针法找最长回文子串 & 中心扩散【参考评论中的一个解答】class Solution: def longestPalindrome(self, s: str) -> str: maxl,max_len,n = 0,0,len(s) for i in range(2*n-1): l,r = i//2,i//2+i%2 .

2021-11-08 21:44:46 59

原创 Z字形变换

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:从高赞的解题思路中学到很多(强推!!!):class Solution: def convert(self, s: str, numRows: int) -> str: if numRows < 2: return s res = ["" for _ in range(nu

2021-11-08 00:06:52 361

原创 查找不含有重复字符的最长子串

pythoncollections.defaultdict()使用defaultdict()是一个特殊的字典,其中 keys 的值,自行确定赋值,但是 values 的值,是int的实例。即使访问的键不存在的时候,可以实例化一个值作为默认值。from collections import defaultdictwords = ['hello', 'world', 'nice', 'world']counter = defaultdict(int)for i in words: coun.

2021-11-07 15:30:34 144

原创 关于python链表的学习(一)

第一次接触到python链表,很多内容还不太清楚,给自己做个小笔记记录一下!针对链表,python中没有指针,所以需要使用”引用+类“来实现。单链表的定义class ListNode(object): '''定义单链表节点类''' def __init__(self,data,next = None): '''data为数据项,next为下一节点的链接,初始化节点默认链接为None''' self.data = data self.next = nex接着就可以定义我们需要的

2021-11-06 00:23:58 460

原创 python中的哈希表和罗马数字转换

1.python 3 中的哈希表Python中的字典使用了哈希表的原理,通过字典的定义使键和值一一对应,方便查询。针对罗马数字与整数的关系,可以通过字典将他们连接起来。rs = ['I','V','X','L','C','D','M']rn = [1,5,10,50,100,500,1000]dict = {}k = 0for i in rs: dict[i] = rn[k] k += 1罗马数字转整数思想:针对这六种特殊情况:我们可以发现,对于相邻两个字符,如果左边字符

2021-11-02 15:31:18 249

原创 移除数组中的特定元素

使用remove括号中是需要移除的元素a = [2,3,4,5,6]a.remove(5)[2, 3, 4, 6]使用pop括号中是索引位置a = [2,3,4,5,6]a.pop(1)[2, 4, 5, 6]要求:不要使用额外的数组空间,原地修改输入数组在这里我使用的是一个异或的思想class Solution: def Remo(self, nums: List[int], val: int) -> int: a = len(nu.

2021-11-01 22:44:01 119

原创 关于字符串和空格索引

关于字符串和空格去掉字符串的开头和结尾——函数strip()s = " hello world "s = s.strip()输出:hello world2.搜索字符串中的空格并返回相应下标s = " hello world "a = [i for i,x in enumerate(s) if x == ' ']输出:[0, 1, 7, 13, 14]注意enumerate和index的区别3. 在python中空格的表示——引号+空格+引号...

2021-10-30 23:08:07 900

原创 python 画柱形图(条形图)/输出与变量有关的标题title/防止坐标重叠

画柱形图import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] ###这两行起到输出中文的作用plt.rcParams['axes.unicode_minus'] = Falseax1 = ['a','b','c','d','e'] ax2 = [1,2,3,4,5]plt.bar(ax1, ax2)plt.xlabel('化合物' )plt.ylabel('数量')plt.sh.

2021-05-23 21:13:29 1542

原创 Python 反转列表 反转整数

反转列表使用双冒号定义一个列表 a通过a[start:end : step]来反向输出结果a= [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]print(a[::]) #完整输出print(a[::-1]) #倒序输出print(a[:8:2]) #步长为2,对应截止输出入代码片反转整数比如输入整数123 输出结果为321a=123 #整数a=str(a) #转换为字符a=a[::-1] #反转a=int(a) .

2021-05-11 17:16:19 380

原创 Python enumerate函数和index的区别

Python enumerate函数和index的区别在这边做个对比:#定义一个数组,其中里面有两个相同的值0.31list=[0.11,0.31,0.55,0.70,0.23,0.43,0.87,0.99,0.31,0.26,0.65]e_index = [i for i,x in enumerate(list) if x<0.5]print('使用enumerate:',e_index)i_index = [list.index(i) for i in list if i &lt

2021-04-16 13:44:12 345

原创 Python Dataframe动态添加新的列 或者一次性要定义的列名太多时怎么办 ?

Python Dataframe动态添加新的列 或者一次性要定义的列名太多时怎么办 ?import pandas as pddata = pd.DataFrame(columns=()) #定义一个空的dataframecolumn_name =['A','B','C','D','E','F','G','H','I','J','K','L'] #自己定义的列名column_value=[1,1,1,2,2,2,3,3,3,4,4] #给每一列填充的值

2021-04-16 13:03:26 1091 1

原创 python RDKit 导入KEGG中化合物的MOL文件并创建一个Dataframe

将KEGG中的化合物结构信息导入,并生成化合物dataframe导入KEGG化合物结构信息在KEGG的compound数据库中,点击你所需要的化合物选取某一条pathway的化合物,就可以整成该通路对应化合物的mol 文件创建dataframe导入化合物的mol文件后,就要通过python读取这些文件,并创建相应的dataframe首先是从文件夹读取对应的文件名:import osfilePath = 'D:\hsa00010-MOL' ###文件所在的位置for i, j, na

2021-04-15 17:22:57 863

空空如也

空空如也

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

TA关注的人

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