剑指Offer刷题笔记
菜菜艾
改变从学习开始!
展开
-
数组中心下标
给你一个整数数组 nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。示例 1:输入:nums = [1,7,3,6,5,6]输出:3解释:中心下标是 3 。左侧数之和 sum = nums[0] + nums原创 2022-06-21 20:32:32 · 259 阅读 · 0 评论 -
前 n 个数字二进制中 1 的个数
给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。示例 1:输入: n = 2输出: [0,1,1]解释:0 --> 01 --> 12 --> 10示例 2:输入: n = 5输出: [0,1,1,2,1,2]解释:0 --> 01 --> 12 --> 103 --> 114 --> 1005 --> 101说明 :0 ......原创 2022-06-19 09:38:14 · 72 阅读 · 0 评论 -
二进制加法
给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “10”输出: “101”示例 2:输入: a = “1010”, b = “1011”输出: “10101”提示:每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。1 ......原创 2022-06-18 16:36:15 · 289 阅读 · 0 评论 -
JAVA 两数求商
给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 ‘*’、除号 ‘/’ 以及求余符号 ‘%’ 。注意:整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2 的31次方, 2 的31方 −1 ]。本题中,如果除法结果溢出,则返回 2^31 − 1示例 1:输入:a = 15, b = 2输出:7解释:15/2 =原创 2022-06-18 10:20:09 · 2172 阅读 · 0 评论