给定一个具有5个元素1,2,3,4,5的整数数组,我试图颠倒数组中元素的顺序;例如,该数组将变为5,4,3,2,1。
int main(void) {
int n = 5; //Num of elements
int arr[5] = {1,2,3,4,5};
for (int i = 0; i < n; i++) {
printf("%d\n", arr[i]); //Print original vals
}
n--; //Decrement n by 1 for simplicity
for (int
您认为下面的代码可以更多地优化吗?
我使用了两个for循环,我认为可以将其简化为更好的循环。欢迎任何建议。
public ArrayList<Integer> rotateArray(ArrayList<Integer> A, int B) {
ArrayList<Integer> ret = new ArrayList<Integer>();
B = B % A.size();
boolean flag = false;
for (int i = B; i < A.size(); i++) {
因此,在给定数组的情况下,我有一个简单的任务:让arr = true,false,true,false,true;我需要将true反转为false,反之亦然。我已经设法用for循环做到了这一点:它工作得很好。
现在,我正试着用forEach做同样的事情,但我不明白为什么它不能工作。所以,下面是我的代码:
for (let i = 0; i < arr.length; i++) {
if (arr[i] === true) arr[i] = false;
else arr[i] = true;
} // it works
// for some reason, this
我参加了一个编程竞赛,我没能解决一个问题,问题是:
给定n个整数的数组A,我需要计算给定范围内的反转数。提供了一个整数m,它告诉范围的数目,然后m行,在每一行中,给出两个整数li和ri。
我们只能在指定的范围内计数反转,即从li到ri包含(基于0的索引)。
如果A[i]>A[j]和i<j的话,Ai和Aj两种元素加入到反演中。
例如:A=[3 2 1 4]
倒置是:
(2, 1), (3, 1), (3, 2) i.e. total number of inversions are 3.
输入:
3 2 1 4 //Array A
3 // m - no. o
我想反转一个数组(或任何其他数据结构),但因为这个操作将在数组上进行n次,我在寻找可能的最佳解决方案,我有排序的数组,这是在O(nlgn)时间内获得的,我开始在排序的数组中查找第一个元素,在未排序的数组中(相当于在未排序的数组中找到最小的键),然后从该值的开头到索引反转数组,然后对其余的数组执行相同的操作,找到第二个最小值的索引,然后再次反转数组。从第二个索引到数组末尾,依此类推:
例如,考虑以下数组:
*2 6 (*1*) 5 4 *3 // array is reversed from its 0th index to the 3rd index (0 based)
1 *
我的任务有点麻烦;我的任务是想出我自己的解决方案来解决煎饼问题。
我已经完成了大部分代码,除了这一部分(下面是伪代码):
//assuming input is an array of [0...n-1] size
int maxValue = -infinity
for int i <- 0 to n-1 do
{
for int j <-i to n-1 do
{
if A[j] > maxValue
{
maxValue <- A[j]
maxPos <- j
if
在对给定数组应用查询之后,函数不会返回结果数组(Res)。
“”根据查询反转数组。查询中的每一对值都是给定数组(Arr)的开始和结束索引。
“”“
Arr = [5,3,2,1,3]
Queries = [0,1,1,3,2,4]
def Reverse(Arr, Queries):
res=[]
for item in Arr:
res.append(item)
n = Queries[1]
while(Queries[0] != n + 1):
for i in range(Queries[0], Queries[
我试图通过循环遍历每个单词并将其插入到空字符串中来反转字符串。然后,程序输出undefinedolleh。 function reverseString(str) {
let final = "";
for (let i = str.length; i >= 0; i--) {
final += str[i];
}
return final;
}
console.log(reverseString("hello"));
#include <stdio.h>
int main()
{
int a[100],n,i;
printf("Enter the number of elements you want to enter in any array:");
scanf("%d",&n);
printf("Enter the elements you want to enter in the array:\n");
for(i=0;i<n;i++)
{
scanf("
任务:
给定一个由空格分隔的字符串,反转字符串中的单词。例如,给定"hello world here",返回"here world hello“后续:给定一个可变的字符串表示形式,您能就地执行此操作吗?
我的解决方案:
const reverseStr = s => s.split(' ').reverse().join(' ');
console.log(reverseStr("hello world here"));
我的“就地”解决方案:
const reverseStrInPlace = s => {
我使用reverse() javascript函数来反转保存在本地存储数组中的对象。但我正在尝试将原始索引与新排序的数组结合起来。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.indexOf("Apple"); //2
var fruitsReversed = fruits.reverse();
fruitsReversed.indexOf("Apple"); //1 -> I want to know that it