算法
文章平均质量分 56
Only hand ripe
这个作者很懒,什么都没留下…
展开
-
[day001]设计模式前言
设计模式原创 2022-08-05 10:59:51 · 326 阅读 · 0 评论 -
Java十进制正整数转换为二进制数
// 十进制正整数转换为二进制数import java.util.Scanner;Scanner sc = new Scanner;System.out.println("请输入一个十进制正整数");int number = sc.nextInt();String = "";while(number != 0){ int remainder = number % 2; str = remainder + str; number /= 2;}System.out.println("转换原创 2020-11-15 11:04:44 · 883 阅读 · 0 评论 -
【day005】数组中的k-diff对的数量
"""问题描述: 给定一个整数数组和一个整数k,这里k-diff对被定义为整数对(i, j), 其中i和j都是数组中的数字,他们的局对差是k,本例中将找到数组中k-diff对的数量。问题示例: 输入[3, 1, 4, 1, 5],k=2, 输出2,数组中有两个2-diff对, (1, 3)和(3, 5)。虽然在输入中有两个1,但只返回唯一对的数量。 输入中{1, 2, 3, 4, 5], k=1, 输出4, 数组有四个k-diff对,(1, 2),(2, 3),(3, 4)和原创 2020-08-16 15:24:11 · 117 阅读 · 0 评论 -
【day004】数组划分
"""问题描述: 给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得:(1)所有小于k的元素移动到左边;(2)所有大于等于k的元素移到右边。返回数组划分的位置,即数组中第一个位置i,满足nums[i]≥k。问题示例: 给出数组nums=[3, 2, 2, 1]和k=2,返回1。"""class Solution: def partitionArrray(self, nums, k): start, end = 0, len原创 2020-08-12 22:50:28 · 149 阅读 · 0 评论 -
【day003】子数组之和为零
子数组之和为零:"""问题描述: 给定一个整数数组,找到和为零的子数组,返回满足要求的子数组起始位置和结束位置。问题示例: 给出[-3, 1, 2, -3, 4],返回[0, 2]或者[1, 3],至少有一个子数组之和为零。"""class Solution: def subarraySum(self, nums): prefix_hash = {0: -1} prefix_sum = 0 for i, num in en原创 2020-08-10 21:47:47 · 335 阅读 · 0 评论 -
【day003】连续子数组最大和
连续子数组最大和:"""问题描述: 给定一个整数数组,找出一个连续子数组,使该子数组的和最大。输出结果时,将分别返回第一个数字和最后一个数字的下标(两个相同的答案,返回最先找到的那个)。问题示例: 给定[-3, 1, 3, -3, 4],返回[1, 4]。"""class Solution: def continuousSubarraySum(self, A): ans = - 0x7fffffff sum = 0 star原创 2020-08-10 21:34:55 · 136 阅读 · 0 评论 -
【day002】最小和子数组
"""问题描述:给定一个整数数组,找到一个具有最小和的子数组,返回其最小和。问题示例:给出数组[1, -1, -2, 1], 返回-3。"""class Solution: def minSubArray(self, nums): sum = 0 min_sum = nums[0] max_sum = 0 for num in nums: sum += num if sum原创 2020-08-09 22:55:16 · 294 阅读 · 0 评论 -
【day002】乘积小于k的子数组
"""问题描述: 给定一个正整数组nums,查找子数组,使得每个子数组中元素的乘积都小于k,输出连续的子数组个数。问题示例: 输入nums=[10, 5, 2, 6], k=100, 输出8,有8个连续子数组的乘积小于100,分别为[10],[5],[2],[6],[10,5],[5,2],[2,6],[5,2,6]。"""# nums的类型为整数数组,k的类型是整数from collections import dequeclass Solution: def原创 2020-08-09 22:42:23 · 120 阅读 · 0 评论 -
【day002】求两组数据的交集方法二
求两组数据的交集方法二"""给定两个数组,计算两个数组的交集,包括重复元素。问题示例:给定nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回[2, 2]。"""import collectionsclass Solution: def intersections(self, nums1, nums2): counts = collections.Counter(nums1) print(counts)原创 2020-08-09 00:41:15 · 197 阅读 · 0 评论 -
【day001】多个组数组求交集
测试过程:num1 = [1, 3, 45, 6, 6, 3, 2, 6, 7]num2 = [3, 4, 6, 4, 2, 6, 4, 6, 7, 45, 2]num3 = [3, 4, 45, 3, 2, 54, 6, 2, 5, ]inter = set(num1), set(num2)inter1 = set(num2)inter2 = list(set(num1) & set(num2) & set(num3))# inter3 = list(num1 & n原创 2020-08-08 23:15:16 · 197 阅读 · 0 评论 -
【day001】求两数组的交集
"""问题描述:给出两数组,本例将求出它们的交集,不包括重复元素问题示例:nums1 = [1, 2, 2, 1], nums2=[2, 2],返回[2]"""class Solution: def intersection(self, nums1, nums2): return list(set(nums1) & set(nums2))if __name__ == '__main__': temp = Solution() List1 =.原创 2020-08-08 23:02:26 · 77 阅读 · 0 评论 -
Python打印九九乘法表
九九乘法表方法一:for i in range(1, 10): for j in range(1, i+1): print("{}×{}={}".format(j, i, i*j), end=' ') print()输出:1×1=11×2=2 2×2=41×3=3 2×3=6 3×3=91×4=4 2×4=8 3×4=12 4×4=161×5=5 2×5=10 3×5=15 4×5=20 5×5=251×6=6 2×6=12 3×6=18 4×6=24 5原创 2020-06-20 11:30:55 · 88 阅读 · 0 评论