【力扣九日】day4
1.重新排列数组 力扣1470
class Solution { public int[] shuffle(int[] nums, int n) { int [] res = new int[2*n]; for(int i = 0;i < n;i++) { res[2*i] = nums[i]; res[2*i+1] = nums[n+i]; } return res; }}
2.数组串联 力扣1929
class Solution { public int[] getConcatenation(int[] nums) { int[] ans = new int[nums.length*2]; int n = nums.length; for(int i=0;i<nums.length;i++){ ans[i] = nums[i]; ans[i + n] = nums[i]; } return ans; }}
3.基于排列构建数组 力扣1920
class Solution { public int[] buildArray(int[] nums) { int[] ans = new int[nums.length]; for(int i = 0;i < nums.length;i++){ ans[i] = nums[nums[i]]; } return ans; }}
4.维数组的动态和 力扣1480
class Solution { public int[] runningSum(int[] nums) {int n = nums.length; int[] ans = new int[n]; for (int i = 0, s = 0; i < n; i++) { ans[i] = s = s + nums[i]; } return ans; }}
class Solution { public String reverseLeftWords(String s, int n) { String a = ""; for(int i = n;i < n + s.length();i++){ a += s.charAt(i % s.length()); } return a; }}
6.IP 地址无效化 力扣1108
直接用+连接字符串
class Solution { public String defangIPaddr(String address) { String s = ""; for(int i = 0;i < address.length();i++){ if(address.charAt(i) == '.'){ s += "[.]"; } else s += address.charAt(i); } return s; }}
7.替换空格 剑指05
class Solution { public String replaceSpace(String s) { String ans = ""; for(int i = 0;i < s.length();i++){ if(s.charAt(i) == ' '){ ans += "%20"; } else ans += s.charAt(i); } return ans; }}
8.有多少小于当前数字的数字 力扣1365
class Solution { public int[] smallerNumbersThanCurrent(int[] nums) { int[] a = new int[nums.length]; for(int i = 0;i < nums.length;i++){ a[i] = 0; for(int j = 0;j < nums.length;j++){ if(nums[i] > nums[j]){ a[i]++; } } } return a; }}
9.打印从1到最大数 剑指17
pow方法是求a的b次幂
class Solution { public int[] printNumbers(int n) { int e = (int)Math.pow(10,n) - 1; int[] a = new int[e]; for(int i = 0;i < a.length;i++){ a[i] = i + 1; } return a; }}