算法
一起学习计算机
这个作者很懒,什么都没留下…
展开
-
Python版快速排序
快速排序# 内部排序def partition(arr,left,right): p = arr[left] while left < right: while left < right and arr[right]>p: right -= 1 arr[left],arr[right] = arr[right],arr[left] while left < right and arr[left原创 2020-11-26 21:18:04 · 109 阅读 · 0 评论 -
XGBoost采用GridSearch调参
import xgboost as xgbfrom sklearn.model_selection import train_test_splitfrom sklearn.datasets import load_breast_cancerfrom sklearn.model_selection import GridSearchCVcancer = load_breast_canc...原创 2020-03-18 15:48:32 · 1273 阅读 · 1 评论 -
约瑟夫环的求解及C语言及Java链表实现
循环链表的概念链表的使用,还可以把链表的两头连接,形成了一个环状链表,称为循环链表。和它名字的表意一样,只需要将表中最后一个结点的指针指向头结点,就形成了一个环。 图1 循环链表循环链表和动态链表相比,唯一的不同就是循环链表首尾相连,其他都完全一样。实际应用:约瑟夫环问题约瑟夫环问题,是一个经典的循环链...原创 2019-03-29 10:56:20 · 207 阅读 · 0 评论 -
15. 三数之和
一、题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]二、思路...原创 2018-08-29 10:52:45 · 118 阅读 · 0 评论 -
12. 整数转罗马数字
一、题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两...原创 2018-08-21 11:24:19 · 108 阅读 · 0 评论 -
11. 盛最多水的容器
一、题目给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器...原创 2018-08-20 19:37:20 · 122 阅读 · 0 评论 -
70、爬楼梯
一、题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 ...原创 2018-08-17 11:39:50 · 312 阅读 · 0 评论 -
8. 字符串转整数 (atoi)
一、题目实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的...原创 2018-08-19 19:30:41 · 130 阅读 · 0 评论 -
6. Z字形变换
一、题目将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = "PAYP...原创 2018-08-19 11:19:36 · 166 阅读 · 0 评论 -
69.x的平方根
一、题目实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。二、思路采用二分查找的思想,每次把...原创 2018-08-16 18:58:45 · 1804 阅读 · 0 评论 -
67.二进制求和
一、题目给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"二、思路本题和求两个链表的和有点类似,需要考虑进位,考虑最后一项的进位比如, 0+0 =原创 2018-08-16 10:39:35 · 579 阅读 · 0 评论 -
88. 合并两个有序数组
一、题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3...原创 2018-08-18 22:31:08 · 104 阅读 · 0 评论 -
83. 删除排序链表中的重复元素
一、题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3二、思路为了方便只用了一个节点遍历,基本思想是当前节点 node 和其下一节点 node.next 的值比较,如果值相等,直...原创 2018-08-18 14:51:53 · 210 阅读 · 0 评论 -
58. 最后一个单词的长度
一、题目给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5二、思路从后向前找单词,找到第一个不是空格的位置,然后开始向前统计不是空格的字符的个数,直到遇到空格为止。如果一开始末尾就空格,或者连续...原创 2018-08-11 19:20:03 · 198 阅读 · 0 评论 -
66. 加一
一、题目给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表...原创 2018-08-14 17:13:27 · 136 阅读 · 0 评论