自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法竞赛入门经典第一章

总结: 1.INT_MAX,INT_MIN,LONG_MAX,LONG_MIN在limits.h中。FLT_MAX,FLT_MIN,DBL_MAX,DBL_MIN在float.h中。 2.三角函数使用弧度而非角度。 3.优先级 !>&&>||。 4.else和最近的if 匹配。 5.闰年是除400除尽或者除4除尽并且除100除不尽。 6.比赛时重要是解决问题而不是练习编程。 7.变量交换代码 int a,b; scanf("%d%d", &a, &b); a=a+

2021-06-22 21:34:15 73

原创 两个聚类算法

K-means算法: # -*- coding: utf-8 -*- # from sklearn.cluster import KMeans # km = KMeans(n_clusters, init, n_init, max_iter, tol, precompute_distances, verbose, random_state, copy_x, n_jobs, algorithm) # 本代码采用了 Caliski Harabasz 指标衡量聚类情况 # s(k)= (tr(Bk)*(m-k)

2021-05-02 19:54:12 169

原创 Leetcode 141. 环形链表

给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 如果链表中存在环,则返回 true 。 否则,返回 false 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/lin

2021-03-23 21:11:33 64

原创 Leetcode 881. 救生艇

第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/boats-to-save-people 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思路:先把数组进行排序,然后使用对撞双指针。 Java: 执行用时:18

2021-03-23 21:07:02 81

原创 Leetcode 215. 数组中的第K个最大元素

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 思路:创建一个大顶堆,然后对其进行遍历,找到第k个最大的元素。 执行用时:8 ms, 在所有 Java 提交中击败了36.55%的用户 内存消耗:38.8 MB, 在所有 Java 提交中击败了47.10%的用户 class Solution { public int findKthLargest(int[] nums, int k) { Priority

2021-03-22 16:47:25 59

原创 Leetcode 496. 下一个更大元素 I

给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。 请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/next-greater-element-i 著作权归领扣网络所有。商业转载请联系

2021-03-21 20:00:46 60

原创 Leetcode 705. 设计哈希集合

不使用任何内建的哈希表库设计一个哈希集合(HashSet)。 实现 MyHashSet 类: void add(key) 向哈希集合中插入值 key 。 bool contains(key) 返回哈希集合中是否存在这个值 key 。 void remove(key) 将给定值 key 从哈希集合中删除。如果 哈希集合中没有这个值,什么也不做。 Java: 创建一个数组。数组的大小为1000001,初始值为fasle。 向集合中插入元素:把对应下标的值设置为true。 向集合中删除元素:把对应下标的值设

2021-03-21 14:57:08 120

原创 Leetcode 389. 找不同

给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 思路:把字符串中的字符当做key,出现的次数当做value,建立一个哈希表。先对s进行遍历,对key对应的value加1,然后对t进行遍历,对key对应的value减1.最后对哈希表进行遍历,如果某个key对应的value不为0,那么就返回这个key。 Java: 执行用时:4 ms, 在所有 Java 提交中击败了21.09%的用户 内存消耗: 36.8

2021-03-20 14:48:37 53

原创 217. 存在重复元素

给定一个整数数组,判断是否存在重复元素。 如果存在一值在数组中出现至少两次,函数返回 true 。 如果数组中每个元素都不相同,则返回 false 。 思路:此题可以利用hashmap来解决 把数组中元素的值作为key,把元素出现的次数作为value,如果value大于等于2,那么就返回true,反之则返回false Java: 执行用时:9 ms 在所有 Java 提交中击败了25.62%的用户 内存消耗:44.4 MB在所有 Java 提交中击败了36.46%的用户 class Solution

2021-03-20 13:04:28 45

原创 389. 找不同

给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 解题思路: 先把两个字符串进行排序,然后进行遍历,进行对比,就可以找出那个添加的字母 Java: 执行用时:3 ms 在所有 Java 提交中击败了55.25%的用户 内存消耗:36.9 MB 在所有 Java 提交中击败了32.96%的用户 class Solution { public char findTheDifference(Strin

2021-03-20 12:47:53 133

原创 20. 有效的括号

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = “()” 输出:true 示例 2: 输入:s = “()[]{}” 输出:true 示例 3: 输入:s = “(]” 输出:false 示例 4: 输入:s = “([)]” 输出:false 示例 5: 输入:s = “{[]}” 输出:true 提示: 1 <= s.length &

2021-03-20 11:34:32 74

空空如也

空空如也

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

TA关注的人

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