请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如,把9表示成二进制是1001,有2位是1。因此,如果输入9,则该函数输出2。测试用例1:测试用例2:测试用例3:首先来分析题目,要统计二进制中1的个数,那么我们首先想到的是要将此数的每个比特位都要遍历一遍,然后判断为1count++,最后返回count。就写出如下代码inthammingWeight(uint32_tn){intcou
分类:
其他好文 时间:
2020-11-13 13:03:07
阅读次数:
3
public static boolean Find(int target, int [][] array) { if(array==null||array[0].length==0){ return false;//数组非空判断 } if (array[0][0]> target) { retur ...
分类:
编程语言 时间:
2020-11-10 11:01:49
阅读次数:
10
思路 本题解来自:面试题45. 把数组排成最小的数(自定义排序,清晰图解) 1 class Solution { 2 public: 3 string minNumber(vector<int>& nums) { 4 vector<string> vs; 5 for(int i = 0; i < n ...
分类:
编程语言 时间:
2020-11-08 17:55:22
阅读次数:
27
##主目录 ##题目 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: { ...
分类:
其他好文 时间:
2020-11-01 22:07:12
阅读次数:
11
思路 方法一:辅助队列保存对应层数 我们可以用广度优先搜索解决这个问题。 我们可以想到最朴素的方法是用一个二元组 (node, level) 来表示状态,它表示某个节点和它所在的层数,每个新进队列的节点的 level 值都是父亲节点的 level 值加一。 最后根据每个点的 level 对点进行分类 ...
分类:
其他好文 时间:
2020-11-01 21:30:46
阅读次数:
22
#剑指 Offer 47. 礼物的最大价值 解题思路 因为对于一个点,只可能是从上方或左方累加过来,那么选择值最大的那个方向累加即可。 转移方程: f[i][j]+=max(f[i-1][j],f[i][j-1]); 在原矩阵上操作,最后返回最右下角的数即可。 代码 class Solution { ...
分类:
其他好文 时间:
2020-10-26 11:22:21
阅读次数:
20
剑指 Offer 13. 机器人的运动范围 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能 ...
分类:
其他好文 时间:
2020-10-22 22:53:45
阅读次数:
26
我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。 说明: 1 是丑数。 n 不超过1690。 来源: ...
分类:
其他好文 时间:
2020-10-10 18:00:10
阅读次数:
24
// 双指针 var findContinuousSequence = function(target) { let res = [] let left = 1 let right = 2 while (left < right) { let sum = (left + right) * (righ ...
分类:
Web程序 时间:
2020-10-10 17:08:08
阅读次数:
18
输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"] class Solution(object): def permutatio ...
分类:
其他好文 时间:
2020-10-09 21:11:08
阅读次数:
18