草庐IT

趣味数学:两数之积与两数之和相加

问题在至这个自然数中共有多少个数能表示成(是正整数)形式的数?【解析】记,则,具体说来,有设想我们制作一张表格,那这张表格是对称的;因此,我们可以集中精力考虑的情况。先考虑一种特殊情况显然,以上就不需要再考虑。,的值对应以下数列:;这是以内,除以外的奇数;所以,除了以外,以内的奇数都可以用来表示。当为奇数,一定是奇数,已经包含在中。因此,以下只讨论偶数,只讨论均为偶数的情况。这几个数列的规律性并不是很强。好在以内的偶数只有个,参考「筛法求素数」,我们可以画出一张的表格,然后把以上四个公式能够表示的数找出来。从表格可以看出,以内的偶数中,有个可以用表示;在前面我们已经知道,以内的奇数中,不能表示

167. 两数之和 II - 输入有序数组

1.题目给你一个下标从1开始的整数数组numbers,该数组已按非递减顺序排列,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是numbers[index1]和numbers[index2],则1以长度为2的整数数组[index1,index2]的形式返回这两个整数的下标index1和index2。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。你所设计的解决方案必须只使用常量级的额外空间。示例1:输入:numbers=[2,7,11,15],target=9输出:[1,2]解释:2与7之和等于目标数9。因此index1=1,index2=2

02.两数相加(难度:中等)

两数相加(难度:中等)题目描述:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。示例:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=807解法:按照我们小学学习的两个多位数的相加,从各位开始,各位与各位相加,如果大于10则进位,保留其与10的余数。接下来十位,百位,亦是如此。直到有一个数的没有更高位,则把另一个数的剩余高位补到结果的高位,此时需要判断,是否有进位,如有

【力扣每日一题01】两数之和

开了一个新专栏,用来记录自己每天刷题,并且也是为了养成每日学习这个习惯,期待坚持一年后的自己!一、题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。示例2:输入:nums=[3,2,4],target=6输出:[1,2]示例3:输入:nums=[3,

Leetcode: 1. 两数之和 【题解超详细】

前言有人夜里挑灯看花,有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。希望下面的题解可以帮助你们开始 你们的leetcode刷题的天降之路 题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。难度:简单题目链接:1.两数之和示例1:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。示例2:输

小米面试题——不用加减乘除计算两数之和

前言(1)刷B站看到一个面试题,不用加减乘除计算两数之和。(2)当时我看到这个题目,第一反应就是感觉这是一个数电题目。不过需要采用C语言的方式编写出来。(3)不过看到大佬的代码之后,感觉自己的思想还是太局限了。利用数电知识解题(1)当时我看到这个题目,第一想法就是画出逻辑电路图,分析过程我就不赘述了。感兴趣的可以看【硬件科普】带你认识CPU第02期——CPU是怎么计算加法的(上)这个视频讲解(2)根据上图,于是我们可以知道,需要一个当前值a和b,一个输入的进位值carry_bit。最终输出数据S和进位符号carry_bit。注意:carry_bit是进位符号,所以他每次计算的时候,需要左移1位

LeetCode刷题(数组):详解两数之和与合并两个有序数组

1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例一:示例二:示例三:1.思路一(暴力求解)直接暴力求解,采用二重循环,依次遍历数组中的两个元素,查看当前的两个元素之和是否等于目标元素target的值,如果等于,就把当前遍历的索引i,j分别放入目标数组中返回即可!classSolution{publicint[]twoSum(int[]nums,inttarget){int[]list=newi

代码随想录算法训练营第六天| 242.有效的字母异位词 ,349. 两个数组的交集 ,202. 快乐数,1. 两数之和

242.有效的字母异位词力扣classSolution{public:boolisAnagram(strings,stringt){inthash[26]={0};for(inti=0;i遇到要查找元素的问题用哈希表解决,这道题元素少,可以用数组解决,用第i个元素剪去a对应的ASCII码就能把元素转化,之后++是因为当第二个数组元素查找后再减去,如果相同那么得到0不同就不是0。最后遍历一遍即可349.两个数组的交集力扣classSolution{public:vectorintersection(vector&nums1,vector&nums2){unordered_setresult_se

代码随想录算法训练营第六天|242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

题目:242.有效的字母异位词视频:学透哈希表,数组使用有技巧!Leetcode:242.有效的字母异位词_哔哩哔哩_bilibili题解:法一:qsort// int cmp(const void* _a, const void* _b) {//     char a = *(char*)_a, b = *(char*)_b;//     return a - b;// }// bool isAnagram(char* s, char* t) {//     int len_s = strlen(s), len_t = strlen(t);//     if (len_s != len_t)

day6 哈希 有效的字母异位词 两个数组的交集 快乐数 两数之和

-day5周日休息---哈希表-什么时候用   -需要记录对比数据,判断数据是否在集合里面-哈希三种形式   1.数组      -记录一个数      -已知长度,belike26个字母      -已知最大长度,且长度较小,belike1   2.set      -记录一个数      -除了数组外的其它         -用数组的地方用set也可以,但是浪费   1.map      -记录一组数,需要用key->value,belike数组通过数值判断下标   -用不用unordered,看哈希表需不需要顺序记录 ----有效的字母异位词   -26个字母,用数组即可```cppcl