网站改版 文案,如何建设微商网站,php网站建设用什么,wordpress comment_form_after加一
给定一个由 整数 组成的 非空 数组所表示的非负整数#xff0c;在该数的基础上加一。最高位数字存放在数组的首位#xff0c; 数组中每个元素只存储单个数字。 示例 1#xff1a; 输入#xff1a;digits [1,2,3] 输出#xff1a;[1,2,4] 解释#xff1a;输入数组表…加一
给定一个由 整数 组成的 非空 数组所表示的非负整数在该数的基础上加一。最高位数字存放在数组的首位 数组中每个元素只存储单个数字。 示例 1 输入digits [1,2,3] 输出[1,2,4] 解释输入数组表示数字 123。 示例 2 输入digits [4,3,2,1] 输出[4,3,2,2] 解释输入数组表示数字 4321。 示例 3 输入digits [0] 解题思路给定数组代表一个十进制数数组的0下标是十进制的高位。从数组尾部开始遍历依次进位。
public int[] plusOne(int[] digits) {for (int i digits.length - 1; i 0; i--) {digits[i];digits[i] digits[i] % 10;if(digits[i] ! 0) {return digits;}}digits new int[digits.length 1];digits[0] 1;return digits;}二进制求和
给你两个二进制字符串 a 和 b 以二进制字符串的形式返回它们的和。 示例 1 输入:a “11”, b “1” 输出“100” 示例 2 输入a “1010”, b “1011” 输出“10101” public String addBinary(String a, String b) {StringBuffer ans new StringBuffer();int n Math.max(a.length(), b.length()), carry 0;for (int i 0; i n; i) {carry i a.length() ? (a.charAt(a.length() - 1 - i) - 0) : 0;carry i b.length() ? (b.charAt(b.length() - 1 - i) - 0) : 0;ans.append((char) (carry % 2 0));carry / 2;}if (carry 0) {ans.append(1);}ans.reverse();return ans.toString();}
x 的平方根
给你一个非负整数 x 计算并返回 x 的 算术平方根 。由于返回类型是整数结果只保留 整数部分 小数部分将被 舍去 。 示例 1 输入x 4 输出2 示例 2 输入x 8 输出2 public int mySqrt(int x) {if (x 0) {return 0;}int ans (int) Math.exp(0.5 * Math.log(x));return (long) (ans 1) * (ans 1) x ? ans 1 : ans;}爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢 示例 1 输入n 2 输出2 示例 2 输入n 3 输出3 解题思路动态规划
public int climbStairs(int n) {int p 0, q 0, r 1;for (int i 1; i n; i) {p q; q r; r p q;}return r;}颜色分类
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums 原地对它们进行排序使得相同颜色的元素相邻并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。 示例 1 输入nums [2,0,2,1,1,0] 输出[0,0,1,1,2,2] 示例 2 输入nums [2,0,1] 输出[0,1,2] 解题思路计数排序 public void sortColors(int[] nums) {int n nums.length;int ptr 0;for (int i 0; i n; i) {if (nums[i] 0) {int temp nums[i];nums[i] nums[ptr];nums[ptr] temp;ptr;}}for (int i ptr; i n; i) {if (nums[i] 1) {int temp nums[i];nums[i] nums[ptr];nums[ptr] temp;ptr;}}}