
数学
文章平均质量分 51
一些数学知识
Zyy~
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!
展开
-
《leetcode》约瑟夫环《数学》
剑指 Offer 62. 圆圈中最后剩下的数字难度简单4480,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 2限制:1 <原创 2021-09-27 18:46:59 · 207 阅读 · 0 评论 -
《leetcode》剪绳子(I,II)《动态规划》
剑指 Offer 14- I. 剪绳子难度中等300给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1示例 2:输入: 10输出: 3原创 2021-09-26 16:43:30 · 207 阅读 · 0 评论 -
《leetcode》645. 错误的集合《位操作》
645. 错误的集合难度简单213集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入:nums = [1,2,2,4]输出:[2,3]示例 2:输入:nums = [1,1]输出:[1,2]提示:2 <= nums.原创 2021-07-04 22:29:49 · 272 阅读 · 1 评论 -
《前缀和》724. 寻找数组的中心索引《leetcode》
724. 寻找数组的中心索引难度简单264收藏分享切换为英文接收动态反馈给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:索引 3 (nums[3] = 6) ...原创 2021-01-28 12:05:52 · 129 阅读 · 0 评论 -
《leetcode》189. 旋转数组《翻转数组》
189. 旋转数组难度中等848给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 你可以使用空间复杂度为O(1) 的原地算法解决这个问题吗?示例 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]向右旋...原创 2021-01-10 20:15:46 · 283 阅读 · 0 评论 -
浅谈Java中的进制转换
前言:以前写c++的时候,进制转换的时候基本就是对进制求余,然后把余数倒着输出就OK了,但是到了java之后,一切都省去了,直接调函数,不仅方便,而且效率不低。话不多说,上代码:public class 进制转换 { public static void main(String[] args) { int a=11; String s="11"; //当...原创 2019-05-18 10:02:34 · 372 阅读 · 0 评论 -
《质数》判断质数(较快的方法C++)
前言 to be honest,我感觉我也刷了1,200道题了,真是有的题刷了一次又一次,但是还是存在会的还是会,不会的还是不会。因而我就思考是不是我的做题模式出现了问题。下面展示一下我之前的做题风格,哎,还是走高三的老路,就是刷题,不总结,不分类,只追求数量。为了改善这种情况,我决定做好总结与分类,以求有所进步。正题:bool isPrime(int a) { if(a == 1) return 0; if(a == 2 || a == 3) return 1; .原创 2020-10-20 22:31:46 · 2357 阅读 · 0 评论 -
高精度加法 100位以内 C++
问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c=a+b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进...原创 2018-03-01 22:20:39 · 2070 阅读 · 0 评论 -
高精度 求1000以内阶乘 (初学)C++版
问题描述 输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了...原创 2018-02-28 22:23:30 · 3661 阅读 · 1 评论