- 博客(12)
- 收藏
- 关注
原创 自用笔记42——牛顿迭代法/完全平方数性质
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-perfect-square著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。这里有大概四种方法处理这个问题,第一种暴力无脑循环:
2020-10-22 00:17:40 340
原创 自用笔记41——n&(n-1)
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为
2020-10-19 00:12:45 463
原创 自用笔记40——使用简单的哈希表
给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/missing-number著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。int
2020-10-13 00:07:38 146
原创 自用笔记39——strtok()函数
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: “Hello, my name is John”输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明
2020-10-11 02:32:33 151
原创 自用笔记38——符号位
编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。示例:输入: a = 1, b = 2输出: 2int maximum(int a, int b){ long k=((long)a-(long)b)>>63; return a*(!k)+b*abs(k);}类型范围的向右移位相应位数可以得到符号位,int型移位31位,long型移位63位符号位上,如果为正数,那么符号位为0,如果为负数,符号位为-1因为测试用例会超过int
2020-10-10 04:24:54 613
原创 自用笔记37——白给
给你一个仅由数字 6 和 9 组成的正整数 num。你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。请返回你可以得到的最大数字。示例 1:输入:num = 9669输出:9969解释:改变第一位数字可以得到 6669 。改变第二位数字可以得到 9969 。改变第三位数字可以得到 9699 。改变第四位数字可以得到 9666 。其中最大的数字是 9969 。示例 2:输入:num = 9996输出:9999解释:将最后一位从 6 变到 9,其结果 9999 是最
2020-10-09 01:28:01 1477 1
原创 自用笔记36——时间复杂度
设计一个算法,算出 n 阶乘有多少个尾随零。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/factorial-zeros-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。int trailingZeroe
2020-10-07 22:20:05 214
原创 自用笔记35——思维扩散
给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。示例 1:输入:nums = [3,4,5,2]输出:12解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)(nums[2]-1) = (4-1)(5-1) = 3*4 = 12 。示例 2:输入:nums = [1,5,4,5]输出:16解释:选择下标 i=1 和 j=3(下标从
2020-10-07 01:23:39 178
原创 自用笔记34——二分法模板
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以假设 nums 中的所
2020-10-05 16:56:09 113
原创 自用笔记33——calloc()和malloc()
在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。给你一个整数数组 arr,请你从中找出并返回一个幸运数。如果数组中存在多个幸运数,只需返回 最大 的那个。如果数组中不含幸运数,则返回 -1 。示例 1:输入:arr = [2,2,3,4]输出:2解释:数组中唯一的幸运数是 2 ,因为数值 2 的出现频次也是 2 。示例 2:输入:arr = [1,2,2,3,3,3]输出:3解释:1、2 以及 3 都是幸运数,只需要返回其中最大的 3 。示例 3
2020-10-04 22:44:07 132
原创 自用笔记32——交换两个数
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。int cmp(const
2020-10-02 19:18:43 102
原创 自用笔记31——strcat()/strncat()
给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: “202”示例 2:输入: -7输出: “-10”注意: 输入范围是 [-1e7, 1e7] 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/base-7著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。char * convertToBase7(int num){ char *svn=malloc(12*sizeof(c
2020-10-01 15:07:29 1467
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人