我试图使用 java 中的 Collections.reverse() 方法反转字符数组中的元素。它没有反转它们,所以我采用了我提到的示例中使用的整数数组,但没有成功
这是我的代码
int[] intarr = {1,2,3,5,7,8};
System.out.println(Arrays.toString(intarr));
Collections.reverse(Arrays.asList(intarr));
System.out.println(Arrays.toString(intarr));
Run Code Online (Sandbox Code Playgroud)
它返回两个与输入相同的列表!这里出了什么问题?
是否有任何其他方法可以在不使用 array.rev 函数且不复制原始数组的情况下在 F# 中反转数组,可能类似于反转列表的方式。
let rev (lst : List<'T>) =
let length = List.length lst
seq { for i in (length-1) .. -1 .. 0 do yield lst.[i] }
|> Seq.toList
Run Code Online (Sandbox Code Playgroud) 该函数的目标是水平翻转类似矩阵的字符串。
例如,具有 2 行和 3 列的字符串:“100010001”将如下所示:
1 0 0
0 1 0
0 0 1
Run Code Online (Sandbox Code Playgroud)
但翻转后应该看起来像:
0 0 1
0 1 0
1 0 0
Run Code Online (Sandbox Code Playgroud)
因此该函数将返回以下输出:“001010100”
需要注意的是,我不能使用列表或数组。只有字符串。
我相信我编写的当前代码应该可以工作,但是它返回一个空字符串。
def flip_horizontal(image, rows, column):
horizontal_image = ''
for i in range(rows):
#This should slice the image string, and map image(the last element in the
#column : to the first element of the column) onto horizontal_image.
#this will repeat for the given amount of rows
horizontal_image = horizontal_image + image[(i+1)*column-1:i*column]
return horizontal_image
Run Code Online (Sandbox Code Playgroud)
这再次返回一个空字符串。知道问题是什么吗?
我想编写一个方法,它接受一个字符串作为参数,并返回相同的句子,每个单词都在适当的位置反转。
例子:-
reverse_each_word("Hello there, and how are you?")
#=> "olleH ,ereht dna woh era ?uoy"
Run Code Online (Sandbox Code Playgroud)
我试过:
def reverse_each_word(string)
array = []
new_array=array <<string.split(" ")
array.collect {|word| word.join(" ").reverse}
end
Run Code Online (Sandbox Code Playgroud)
但回报是
["?uoy era woh dna ,ereht olleH"]
Run Code Online (Sandbox Code Playgroud)
整个句子颠倒了,不知道为什么有[ ]
有什么帮助吗?
所以我有这个命令:
role_positions = {role1: 1, role2: 2, role3: 3}
Run Code Online (Sandbox Code Playgroud)
我如何反转它的值?像这样:
role_positions = {role1: 3, role2: 2, role3: 1}
Run Code Online (Sandbox Code Playgroud) 基本上标题说的是:我希望能够调用.map反向数组,但我担心它会太慢,因为我必须多次执行此操作。
我知道以下方法有效:
let arr = [1, 2, 3, 4, 5];
let rev_wrapped = arr.slice(0).reverse().map(item => `wrapped: ${item}`);
Run Code Online (Sandbox Code Playgroud)
结果rev_wrapped是:
[
'wrapped: 5',
'wrapped: 4',
'wrapped: 3',
'wrapped: 2',
'wrapped: 1'
]
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更快的方法来做到这一点,因为.reverse()完全反转数组,而我只需要以相反的顺序读取数据。
如果这是不可能的,我也可以使用一种数据结构,它允许我在开始时插入元素而无需太多的计算成本(因为类似的东西arr.splice(0,0,new_item)会在每次插入时完全重新排列数组)。
我正在编写一段代码来逐字地反转字符串(输入:Java很有趣;输出:有趣的是Java),当我遇到一个问题时:如何将String变量添加到字符类型变量中.代码工作正常完美,但这怎么可能?有人,请向我解释一下.提前致谢.
import java.io.*;
public class numberof {
public static void main(String args[])throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str1,str2="",str3="";
str1=br.readLine()+" ";
for(int i=0;i<str1.length();i++){
char x=str1.charAt(i);
if(x==' '){
str2=str3+" "+str2;
str3="";
}
else{
str3=str3+x; //HERE IS THE QUESTION PART(STRING+CHAR)
}
}
System.out.println(str2);
}
}
Run Code Online (Sandbox Code Playgroud) 我需要一些帮助.我发现了一个问题,如"编写一个Java程序,它将反转用户给定字符串的每个单词而不改变它们的位置并使用任何内置函数."
我解决了翻译整个句子的代码,但我不知道如何解决这个问题.请帮我...
import java.io.*;
class test25 {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter string: ");
String s = br.readLine();
String reverse = "";
int length = s.length();
for (int i = length - 1; i >= 0; i--)
reverse = reverse + s.charAt(i);
System.out.println("Result:" + reverse);
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下任务:
"声明一个方法,期待一个Collection并在你的方法中反转它.返回给出的相同集合,不要返回一个新的集合!
static <T> void reverse (Collection<T> collection)
Run Code Online (Sandbox Code Playgroud)
不要尝试使用Collections.reverse.它仅适用于List,而不适用于集合"
我最初的想法是以下内容:
public static <T> void reverse(Collection<T> collection){
int size = collection.size();
Iterator<T> iter = collection.iterator();
Iterator<T> iter2 = collection.iterator();
for (int i = 0; i < size / 2; i++) {
collection.add(iter.next());
iter2.remove();
}
}
Run Code Online (Sandbox Code Playgroud)
但我不断得到奇怪的例外:
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at ReverseCollection.reverse(ReverseCollection.java:16)
at ReverseCollection.main(ReverseCollection.java:25)
Run Code Online (Sandbox Code Playgroud)
知道应该怎么做吗?
学习Python是疯狂的,有很多问题.
这次关于功能,我需要创建2个函数,首先是数字来总结用户在列表和第二个函数中输入的所有内容,其中用户将一些单词输入到列表和函数中而不触及列表中的单词索引,单词并返回反转的单词(在同一索引上)
我可以告诉你我的代码,我想我没有数字及其功能的问题,我需要你的反向功能的帮助,我尝试了一些方法,甚至一个"for"在另一个,但我更喜欢一些简单的方法.
def sum(numbers):
acc = 0
for numb in numbers:
acc += numb
return acc
def rever(strings):
r = []
for i in strings:
for n in i:
reversed(r[n])
return r
numbers = [int(x) for x in input("Please input at least 5 numbers (Use space): ").split()]
print(sum(numbers))
strings = [str(x) for x in input("Please input at least 5 words (Use Space): ").split()]
print(rever(strings))
Run Code Online (Sandbox Code Playgroud) reverse ×10
java ×4
string ×4
arrays ×3
python ×3
collections ×2
char ×1
dictionary ×1
f# ×1
function ×1
generics ×1
iteration ×1
javascript ×1
list ×1
ruby ×1