练习题
kkoneone11
这个作者很懒,什么都没留下…
展开
-
剑指 Offer II 002二进制加法一文全搞定逐位相加
十进制整数中,当数字满10,则我们进1位,比如7+8的时候是15,则我们保留5(可以想到用余数)然后再把1保存下来加在下一位,而位置空的地方我们选择0来代替(有数字则数字,没数字则0),然后存放在数组、或者字符串上(字符串的话要用StringBuilder来动态存储)给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。输入: a = "1010", b = "1011"回到二进制的加法中,则是满2进1位,思路和其他的一样。输入: a = "11", b = "10"原创 2023-01-29 23:37:15 · 265 阅读 · 0 评论 -
剑指 Offer ll 001 整数除法
给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 '*'、除号 '/' 以及求余符号 '%'。注意:整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231−1]。本题中,如果除法结果溢出,则返回 231 − 1示例 1:输入:a = 15, b = 2输出:7。原创 2023-01-27 09:12:51 · 146 阅读 · 1 评论 -
JAVA 华为云 流程控制基础题
创建两个点对象,输入两个点的坐标,将其输出,然后将一个点对象赋值给另一个对象,输出两个点位置。键盘输入若干个数字,每输入一个数字回车确认,最后输入0结束整个的输入操作过程。编写程序,创建一个变量x,用户从控制台输入一个数值,赋给变量x,然后使用if语句判断,如果x>0,输出0,否则输出1。根据输入的月份,输出对应的季节(”春天“,”夏天“,”秋天“,”冬天“),如果输入的月份不合理,输出”月份不合法!输入1-10中的任意数字n,通过使用continue,输出1-10中的所有数字,但不能包含数字2的整数倍。原创 2022-09-17 13:11:09 · 464 阅读 · 0 评论 -
字符串转换整数 (atoi)
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:1.读入字符串并丢弃无用的前导空格2.检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。3.读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。4.将前面步骤读入的这些数字转换为整数(即,"原创 2022-06-19 19:49:54 · 815 阅读 · 0 评论 -
验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:示例 2:本题需要用到的知识:1.双指针法(回文的意思是顺序逆序都一样)先将字符串所有的字符都变成小写字母,头部指向一个指针,尾部指向一个指针,并进行字符判断,遇到除字符以外的就跳过直到遇到字符为止最后进行头尾字符判断。2.递归...原创 2022-06-18 21:47:04 · 375 阅读 · 0 评论 -
字符串中的第一个唯一字符
给定一个字符串 ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 。示例 1:示例 2:示例 3:1.HashMap解法 2.评论区自制HashMap原创 2022-06-15 22:47:06 · 61 阅读 · 0 评论 -
整数反转1
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:示例 2:示例 3:示例 4:1.常规测试结果:...原创 2022-06-18 19:46:19 · 66 阅读 · 0 评论 -
反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:示例 2:1.直接进行交换...原创 2022-06-04 12:36:26 · 77 阅读 · 0 评论 -
旋转图像1
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:示例 2:1.外一层旋转,内一层旋转 有两层循环,先是分内外次循环,然后是分圈中数字交换的循环所以要用到两个for;然后就是根据每次变的数字直接关系来判断交换...原创 2022-06-04 12:08:50 · 64 阅读 · 0 评论 -
两数之和1
给定一个整数数组 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原创 2022-05-29 16:44:09 · 95 阅读 · 0 评论 -
每日 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例2:输入: nums = [0]输出: [0]1.双指针遇到非0的就进行交换并且用index来标记当前0的位置用来进行下一个的数字交换class Solution { public void moveZeroe.原创 2022-05-28 15:46:35 · 60 阅读 · 0 评论 -
练习题 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例3输入:digits = [0]输出:[1]1..原创 2022-05-26 09:53:04 · 145 阅读 · 0 评论 -
两个数组的交集 II
给你两个整数数组nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]1.先对数组进行排序相同的再加入list列表[4,5,9].原创 2022-05-25 15:22:44 · 332 阅读 · 0 评论 -
只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 41.用Set集合Set集合里面只能放一种元素,将所有元素放进去当遇到放不进的元素(此时该元素没有放进去但是里面已经有了一个)然后将集合里的拿出来删除最后剩下的就只有只出现一次的class So原创 2022-05-24 22:46:22 · 72 阅读 · 0 评论 -
存在重复元素
每日一题初级算法给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例 1:输入:nums = [1,2,3,1]输出:true示例 2:输入:nums = [1,2,3,4]输出:false示例 3:输入:nums = [1,1,1,3,3,4,3,2,4,2]输出:true1.究极无敌暴力解法最简单的办法但是容易超时public boolean..原创 2022-05-22 17:32:54 · 113 阅读 · 0 评论 -
旋转数组
示例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]向右轮转 3 步: [5,6,7,1,2,3,4]示例2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-10.原创 2022-05-21 20:23:50 · 95 阅读 · 0 评论 -
输出三个乘法表,按照完整乘法表、下三角乘法表、上三角乘法表的顺序输出,每个表中间空一行。对于每个乘法表,首行升序输出的 11 到 99 数与数之间恰好有三个空格,接下来 10 行每栏内容都需要
int main(){ int h=0,l=0; for(l=1;l<=9;l++) { printf("%-4d",l); } printf("\n"); for(l=1;l<=9;l++) { printf("_ "); } ...原创 2021-11-18 13:26:57 · 502 阅读 · 0 评论