- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:https://practice.geeksforgeeks.org/problems/array-of-alternate-ve-and-ve-nos1401/1#
我的代码添加在下面。它在我的机器上以及当我在 GFG 上编译和运行
时运行得非常好。但是当我提交
代码时,它在相同的输入上给我错误,而这个输入在compile & run
中被清除了。
我已经添加了 compile & run
和 submit
的输出。
为什么打印的数组大于它的大小?
#User function Template for python3
def updatePosIndex(array, pos_index,n,k):
for index in range(pos_index+k,n):
if array[index] >= 0:
pos_index = index
break
return pos_index
def updateNegIndex(array, neg_index,n, k):
for index in range(neg_index+k,n):
if array[index] < 0:
neg_index = index
break
return neg_index
def twoPointer(array,n):
pos_index = updatePosIndex(array, 0, n, 0)
neg_index = updateNegIndex(array, 0, n, 0)
flag = 1
for i in range(n):
if flag == 1:
if array[i] < 0:
array[i], array[pos_index] = array[pos_index], array[i]
neg_index = updateNegIndex(array, neg_index,n, 1)
pos_index = updatePosIndex(array, pos_index,n, 1)
elif flag == -1:
if array[i] >= 0:
array[i], array[neg_index] = array[neg_index], array[i]
pos_index = updatePosIndex(array, pos_index,n, 1)
neg_index = updateNegIndex(array, neg_index,n, 1)
flag = flag*-1
return array
class Solution:
def rearrange(self,arr, n):
arr = twoPointer(arr,n)
arr = arr[:n]
return arr
#{
# Driver Code Starts
#Initial Template for Python 3
if __name__ == '__main__':
tc = int(input())
while tc > 0:
n = int(input())
arr = list(map(int, input().strip().split()))
ob = Solution()
ob.rearrange(arr, n)
for x in arr:
print(x, end=" ")
tc -= 1
# } Driver Code Ends
注意:我不想要替代解决方案。我想知道为什么会存在这个问题,以及将来如何预防。
最佳答案
有两个问题:
首先(次要)您必须在 rearrange
方法中更改 arr
列表,并且无需返回任何值。看一下驱动程序代码。那里没有任务。所以你只需要改变 rearrange
方法中的 arr
列表。
其次(主要),GeeksForGeeks
判断系统也存在bug。当驱动程序打印先前运行的输出时,它不会清除缓冲区,不幸的是,新输入和旧输出合并在一起,因此判断系统错误评估结果。
为了克服这些问题,我对 Solution
类做了一些改动:
Flag = False
class Solution:
def rearrange(self,arr, n):
global Flag
twoPointer(arr,n)
if Flag == True:
print()
else:
Flag = True
现在,您的代码成功通过了第一个测试用例。但似乎它不会在第二个结果上正确运行。但这是另一个问题。
关于python - GeeksForGeeks 练习 : printing array bigger than its size in python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65981143/
我正在尝试实现 geeksforgeeks.com 上使用的插入功能,但在尝试将其应用于我当前的代码时遇到了一些问题。 我有一个 vector ,其中包含我需要放入二叉树的数据。我使用这个函数将数字传
你能帮我解决这个 geeksforgeeks 的问题吗 给定一个正整数的 N X N 矩阵 Matrix[N][N]。一个单元格 Matrix[r][c] 只有三种可能的走法。 矩阵[r+1][c]
这是我的代码 #include using namespace std; int srch(vector arr, int ln, int fn) { for (int i = 1; i
我试图将我的注意力集中在信号上,所以我首先在 GeeksforGeeks 信号页面上运行代码。在他们的页面上,它显示了来自父级和子级的输出,但是当我在 CLion 中运行时,9/10 次我只接收来自父
我正在做来自 geeksforgeeks.org 的“k 最大元素”练习 https://practice.geeksforgeeks.org/problems/k-largest-elements/
这是我的程序。为什么这段代码会出错?它在多行宏中使用括号。我在 GeeksforGeeks 的一篇文章中找到了这一点 #include #define MACRO(num, str) ({\
gfg https://practice.geeksforgeeks.org/problems/subset-sum-problem2014/1 代码 https://leetcode.com/pro
问题:https://practice.geeksforgeeks.org/problems/array-of-alternate-ve-and-ve-nos1401/1# 我的代码添加在下面。它在我
我是一名优秀的程序员,十分优秀!