code: def is_c_contiguous(
      shape: Sequence[int], strides: Sequence[int], itemsize: int
  ) -> bool:
      """Determine if shape and strides are C-contiguous
  
      Parameters
      ----------
      shape : Sequence[int]
          Number of elements in each dimension.
      strides : Sequence[int]
          The stride of each dimension in bytes.
      itemsize : int
          Size of an element in bytes.
  
      Return
      ------
      bool
          The boolean answer.
      """
  
      if any(dim == 0 for dim in shape):
          return True
      cumulative_stride = itemsize
      for dim, stride in zip(reversed(shape), reversed(strides)):
          if dim > 1 and stride != cumulative_stride:
              return False
          cumulative_stride *= dim
      return True
  
imports: from __future__ import annotations
  import math
  import pickle
  import weakref
  from types import SimpleNamespace
  from typing import Any, Dict, Literal, Mapping, Optional, Sequence, Tuple
  import numpy
  from typing_extensions import Self
  import rmm
  import cudf
  from cudf.core.abc import Serializable
  from cudf.utils.string import format_bytes
label_desc: Use image node_id 3 for calling a global function with example usage: is_c_contiguous(shape, strides, itemsize) and returns: True, True, False