1. 盒子中小球的最大数量
    你在一家生产小球的玩具厂工作,有 n 个小球,编号从 lowLimit 开始,到 highLimit 结束(包括 lowLimit 和 highLimit ,即 n == highLimit - lowLimit + 1)。另有无限数量的盒子,编号从 1 到infinity。
    你的工作是将每个小球放入盒子中,其中盒子的编号应当等于小球编号上每位数字的和。例如,编号 321 的小球应当放入编号 3 + 2 + 1 = 6 的盒子,而编号 10 的小球应当放入编号 1 + 0 = 1 的盒子。
    给你两个整数 lowLimit 和 highLimit ,返回放有最多小球的盒子中的小球数量。如果有多个盒子都满足放有最多小球,只需返回其中任一盒子的小球数量。
    示例 1:
    输入:lowLimit = 1, highLimit = 10
    输出:2

整体思路就是用一个函数计算各编号数字之和,然后使用pair和一个max标志统计盒中放置球数的最大量。
本人初始解法 做题时注意一下创建的数组等的大小,这里各位数字之和不可能超过50(9*5)所以数组不需要建太大,建太大占内存(…)

class Solution {public:int BtoN(int num){int ans=0;if (num < 10) {ans = num;}else{while(num/10!=0){ans+=num%10;num=num/10;if(num<10){ans+=num;}}}return ans;}int countBalls(int lowLimit, int highLimit) {pair<int,int> box[50];int maxbox=0;int max=0;for(int i=lowLimit;i<=highLimit;i++){if(BtoN(i)>max){max=BtoN(i);}}for(int i=1;i<=max;i++){box[i].first=i;box[i].second=0;}for(int i=lowLimit;i<=highLimit;i++){box[BtoN(i)].second++;if(box[BtoN(i)].second>maxbox){maxbox=box[BtoN(i)].second;}}return maxbox;}
};

他解1
有一种不需要用pair或者vector的方法,就是直接将求出来的各位数字之和对应到数组。好处是代码会相对简洁,此处没有另建函数运算速度也较快。

        int ans;for(int i = lowLimit; i <= highLimit; i++){int t = i, sum = 0;while(t>0){sum += t % 10;t /= 10;}f[sum]++;}for(int i = 0; i < maxn; i++){ans = max(ans, f[i]);}return ans;
  1. 转置矩阵
    给定一个矩阵 A, 返回 A 的转置矩阵。
    矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
    示例 1:
    输入:[[1,2,3],[4,5,6],[7,8,9]]
    输出:[[1,4,7],[2,5,8],[3,6,9]]

这道题是最开始学c语言的时候就做到过的题目了,唯一的区别是当时使用的二维数组,而此处为二维vector。
代码

class Solution {public:vector<vector<int>> transpose(vector<vector<int>>& A) {int row=A.size();//矩阵行数int col=A[0].size();//矩阵列数vector<vector<int>> ans(col,vector<int>(row,0));//初始化C *R 的二维vector,全部初始化为0:for(int r=0;r<row;r++){for(int c=0;c<col;c++){ans[c][r]=A[r][c];//交换}}return ans;}
};

leetcode简单1742/867相关推荐

  1. LeetCode 简单算法题

    使用Nodejs 抓取的LeetCode 简单算法题  一步一步来,先攻破所有简单的题目,有些题目不适合使用JS解决,请自行斟酌 Letcode 简单题汇总 104. Maximum Depth of ...

  2. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

  3. LeetCode简单题之Excel 表中某个范围内的单元格

    题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...

  4. LeetCode简单题之解码字母到整数映射

    题目 给你一个字符串 s,它由数字('0' - '9')和 '#' 组成.我们希望按下述规则将 s 映射为一些小写英文字符: 字符('a' - 'i')分别用('1' - '9')表示. 字符('j' ...

  5. LeetCode简单题之找出数组排序后的目标下标

    题目 给你一个下标从 0 开始的整数数组 nums 以及一个目标元素 target . 目标下标 是一个满足 nums[i] == target 的下标 i . 将 nums 按 非递减 顺序排序后, ...

  6. LeetCode简单题之使每位学生都有座位的最少移动次数

    题目 一个房间里有 n 个座位和 n 名学生,房间用一个数轴表示.给你一个长度为 n 的数组 seats ,其中 seats[i] 是第 i 个座位的位置.同时给你一个长度为 n 的数组 studen ...

  7. LeetCode简单题之字符的最短距离

    题目 给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符. 返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s ...

  8. LeetCode简单题之分割平衡字符串

    题目 在一个 平衡字符串 中,'L' 和 'R' 字符的数量是相同的. 给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串. 注意:分割得到的每个字符串都必须是平衡字符串,且分割得到的平衡字符 ...

  9. LeetCode简单题之增量元素之间的最大差值

    题目 给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 ...

最新文章

  1. 类的成员包含 java_Java 面向对象(十五)类的成员 之 内部类
  2. python自学网站推荐-杭州python自学网站
  3. 2019黑龙江大学程序设计竞赛
  4. 每日涉猎技术点存档(2019年02月)
  5. 如何限制并发的 异步IO 请求数量?
  6. 03-04 元素定位工具
  7. python 在windows下的 虚拟环境
  8. 02-CSS基础与进阶-day6_2018-09-05-22-02-24
  9. VB.NET的数据库基础编程[zz]
  10. hdu1023-----卡特兰数
  11. cannon linux驱动下载
  12. 【毕业设计6】基于51单片机的红外避障小车
  13. canvas绘制圆形头像
  14. 如何查看电脑系统到期时间
  15. 如何开展兼容性测试?兼容性测试有什么作用?
  16. “Internet来宾帐户”的设置的问题
  17. ANSYS经典界面保存单元解和节点解
  18. UKF无迹卡尔曼滤波
  19. 清华大学出版社与SAP签署战略合作协议
  20. VSCode搭建STM32单片机开发环境

热门文章

  1. 最简单的机器学习入门:线性回归
  2. layui操作完成后刷新页面
  3. linux执行lsof命令_linux系统 lsof命令详解
  4. html框架集frame是啥意思,HTML框架frame与iframe详解
  5. 系统学习深度学习(六) --LSTM总结
  6. ppwjs之bootstrap文字排版:kbd元素(键盘格式元素)
  7. 建筑施工与管理计算机综合应用能力实训报告,建筑施工管理计算机综合应用能力实训报告...
  8. LeetCode 517 超级洗衣机 解法
  9. 河南高考成绩位次查询2021,2021年河南高考状元多少分是谁,河南高考状元名单资料...
  10. Pycharm 快捷键 整理