企业网站建设ejiew,wordpress布局调整,建设银行贵阳银行下载官方网站,网站建设开发公司推荐指数给你一个数组 nums 和一个值 val#xff0c;你需要 原地 移除所有数值等于 val 的元素#xff0c;并返回移除后数组的新长度。
不要使用额外的数组空间#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面…给你一个数组 nums 和一个值 val你需要 原地 移除所有数值等于 val 的元素并返回移除后数组的新长度。
不要使用额外的数组空间你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 public int removeElement(int[] nums, int val) {int slow0;for(int fast0;fastnums.length;fast){if(nums[fast]!val){nums[slow]nums[fast];slow;}}return slow;}
编写一个函数其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 public void reverseString(char[] s) {int slow0,fasts.length-1;while (slowfast){char temps[slow];s[slow]s[fast];s[fast]temp;slow;fast;}}
给定一个字符串 s 和一个整数 k从字符串开头算起每计数至 2k 个字符就反转这 2k 字符中的前 k 个字符。
如果剩余字符少于 k 个则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个则反转前 k 个字符其余字符保持原样。
示例 1
输入s abcdefg, k 2
输出bacdfeg public String reverseStr(String s, int k) {char[] ch s.toCharArray();// 1. 每隔 2k 个字符的前 k 个字符进行反转for (int i 0; i ch.length; i 2 * k) {// 2. 剩余字符小于 2k 但大于或等于 k 个则反转前 k 个字符if (i k ch.length) {reverse(ch, i, i k -1);continue;}// 3. 剩余字符少于 k 个则将剩余字符全部反转reverse(ch, i, ch.length - 1);}return new String(ch);}// 定义翻转函数public void reverse(char[] ch, int i, int j) {for (; i j; i, j--) {char temp ch[i];ch[i] ch[j];ch[j] temp;}}
给你一个 非严格递增排列 的数组 nums 请你 原地 删除重复出现的元素使每个元素 只出现一次 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
考虑 nums 的唯一元素的数量为 k 你需要做以下事情确保你的题解可以被通过
更改数组 nums 使 nums 的前 k 个元素包含唯一元素并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k 。 public int removeDuplicates(int[] nums) {int slow0;for(int fast0;fastnums.length;fast){if(nums[fast]!nums[slow]){slow;nums[slow]nums[fast];}}return slow1;}